From ce13002ce176962fe604763e89470b5d44e9d88e Mon Sep 17 00:00:00 2001 From: Michael Zillgith Date: Tue, 12 Oct 2021 11:08:41 +0200 Subject: [PATCH] - added const qualifiers to API functions (#348) --- src/iec61850/common/iec61850_common.c | 4 ++-- src/iec61850/inc/iec61850_common.h | 4 ++-- src/iec61850/inc/iec61850_dynamic_model.h | 18 +++++++++--------- src/iec61850/server/model/dynamic_model.c | 12 +++++------- src/mms/inc/mms_type_spec.h | 2 +- src/mms/inc/mms_value.h | 10 +++++----- src/mms/iso_mms/common/mms_type_spec.c | 2 +- src/mms/iso_mms/common/mms_value.c | 10 +++++----- 8 files changed, 30 insertions(+), 32 deletions(-) diff --git a/src/iec61850/common/iec61850_common.c b/src/iec61850/common/iec61850_common.c index 71cb565e..20962e43 100644 --- a/src/iec61850/common/iec61850_common.c +++ b/src/iec61850/common/iec61850_common.c @@ -242,7 +242,7 @@ Timestamp_create() } Timestamp* -Timestamp_createFromByteArray(uint8_t* byteArray) +Timestamp_createFromByteArray(const uint8_t* byteArray) { Timestamp* self = Timestamp_create(); @@ -471,7 +471,7 @@ Timestamp_getTimeInNs(Timestamp* self) } void -Timestamp_setByMmsUtcTime(Timestamp* self, MmsValue* mmsValue) +Timestamp_setByMmsUtcTime(Timestamp* self, const MmsValue* mmsValue) { if (MmsValue_getType(mmsValue) == MMS_UTC_TIME) memcpy(self->val, mmsValue->value.utcTime, 8); diff --git a/src/iec61850/inc/iec61850_common.h b/src/iec61850/inc/iec61850_common.h index 957883dd..335b6ea4 100644 --- a/src/iec61850/inc/iec61850_common.h +++ b/src/iec61850/inc/iec61850_common.h @@ -423,7 +423,7 @@ LIB61850_API Timestamp* Timestamp_create(void); LIB61850_API Timestamp* -Timestamp_createFromByteArray(uint8_t* byteArray); +Timestamp_createFromByteArray(const uint8_t* byteArray); LIB61850_API void Timestamp_destroy(Timestamp* self); @@ -504,7 +504,7 @@ LIB61850_API void Timestamp_setTimeInNanoseconds(Timestamp* self, nsSinceEpoch nsTime); LIB61850_API void -Timestamp_setByMmsUtcTime(Timestamp* self, MmsValue* mmsValue); +Timestamp_setByMmsUtcTime(Timestamp* self, const MmsValue* mmsValue); /** * \brief Set an MmsValue instance of type UTCTime to the timestamp value diff --git a/src/iec61850/inc/iec61850_dynamic_model.h b/src/iec61850/inc/iec61850_dynamic_model.h index 4138d13c..cd8a421f 100644 --- a/src/iec61850/inc/iec61850_dynamic_model.h +++ b/src/iec61850/inc/iec61850_dynamic_model.h @@ -46,14 +46,14 @@ extern "C" { /** * \brief create a new IedModel instance * - * The IedModel object is the root node of an IEC 61850 service data model. + * The IedModel object is the root node of an IEC 61850 data model. * - * \param name the name of the IedModel or NULL (optional - NOT YET USED) + * \param name the name of the IedModel * - * \return + * \return the new data model instance */ LIB61850_API IedModel* -IedModel_create(const char* name/*, MemoryAllocator allocator*/); +IedModel_create(const char* name); /** * \brief Set the name of the IED (use only for dynamic model!) @@ -196,7 +196,7 @@ DataAttribute_setValue(DataAttribute* self, MmsValue* value); * \return the new RCB instance. */ LIB61850_API ReportControlBlock* -ReportControlBlock_create(const char* name, LogicalNode* parent, char* rptId, bool isBuffered, char* +ReportControlBlock_create(const char* name, LogicalNode* parent, const char* rptId, bool isBuffered, const char* dataSetName, uint32_t confRef, uint8_t trgOps, uint8_t options, uint32_t bufTm, uint32_t intgPd); /** @@ -209,7 +209,7 @@ ReportControlBlock_create(const char* name, LogicalNode* parent, char* rptId, bo * \param clientAddress buffer containing the client address (4 byte in case of an IPv4 address, 16 byte in case of an IPv6 address, NULL for no client) */ LIB61850_API void -ReportControlBlock_setPreconfiguredClient(ReportControlBlock* self, uint8_t clientType, uint8_t* clientAddress); +ReportControlBlock_setPreconfiguredClient(ReportControlBlock* self, uint8_t clientType, const uint8_t* clientAddress); /** * \brief create a new log control block (LCB) @@ -229,7 +229,7 @@ ReportControlBlock_setPreconfiguredClient(ReportControlBlock* self, uint8_t clie * \return the new LCB instance */ LIB61850_API LogControlBlock* -LogControlBlock_create(const char* name, LogicalNode* parent, char* dataSetName, char* logRef, uint8_t trgOps, +LogControlBlock_create(const char* name, LogicalNode* parent, const char* dataSetName, const char* logRef, uint8_t trgOps, uint32_t intgPd, bool logEna, bool reasonCode); /** @@ -274,7 +274,7 @@ SettingGroupControlBlock_create(LogicalNode* parent, uint8_t actSG, uint8_t numO * \return the new GoCB instance */ LIB61850_API GSEControlBlock* -GSEControlBlock_create(const char* name, LogicalNode* parent, char* appId, char* dataSet, uint32_t confRev, +GSEControlBlock_create(const char* name, LogicalNode* parent, const char* appId, const char* dataSet, uint32_t confRev, bool fixedOffs, int minTime, int maxTime); /** @@ -294,7 +294,7 @@ GSEControlBlock_create(const char* name, LogicalNode* parent, char* appId, char* * \return the new SvCB instance */ LIB61850_API SVControlBlock* -SVControlBlock_create(const char* name, LogicalNode* parent, char* svID, char* dataSet, uint32_t confRev, uint8_t smpMod, +SVControlBlock_create(const char* name, LogicalNode* parent, const char* svID, const char* dataSet, uint32_t confRev, uint8_t smpMod, uint16_t smpRate, uint8_t optFlds, bool isUnicast); LIB61850_API void diff --git a/src/iec61850/server/model/dynamic_model.c b/src/iec61850/server/model/dynamic_model.c index b8e9816b..043bdc29 100644 --- a/src/iec61850/server/model/dynamic_model.c +++ b/src/iec61850/server/model/dynamic_model.c @@ -296,7 +296,7 @@ LogicalNode_addLogControlBlock(LogicalNode* self, LogControlBlock* lcb) } LogControlBlock* -LogControlBlock_create(const char* name, LogicalNode* parent, char* dataSetName, char* logRef, uint8_t trgOps, +LogControlBlock_create(const char* name, LogicalNode* parent, const char* dataSetName, const char* logRef, uint8_t trgOps, uint32_t intPeriod, bool logEna, bool reasonCode) { LogControlBlock* self = (LogControlBlock*) GLOBAL_MALLOC(sizeof(LogControlBlock)); @@ -334,7 +334,7 @@ LogicalNode_addReportControlBlock(LogicalNode* self, ReportControlBlock* rcb) } ReportControlBlock* -ReportControlBlock_create(const char* name, LogicalNode* parent, char* rptId, bool isBuffered, char* +ReportControlBlock_create(const char* name, LogicalNode* parent, const char* rptId, bool isBuffered, const char* dataSetName, uint32_t confRef, uint8_t trgOps, uint8_t options, uint32_t bufTm, uint32_t intgPd) { ReportControlBlock* self = (ReportControlBlock*) GLOBAL_MALLOC(sizeof(ReportControlBlock)); @@ -368,7 +368,7 @@ ReportControlBlock_create(const char* name, LogicalNode* parent, char* rptId, bo } void -ReportControlBlock_setPreconfiguredClient(ReportControlBlock* self, uint8_t clientType, uint8_t* clientAddress) +ReportControlBlock_setPreconfiguredClient(ReportControlBlock* self, uint8_t clientType, const uint8_t* clientAddress) { if (clientType == 4) { /* IPv4 address */ self->clientReservation[0] = 4; @@ -421,7 +421,7 @@ LogicalNode_addGSEControlBlock(LogicalNode* self, GSEControlBlock* gcb) } GSEControlBlock* -GSEControlBlock_create(const char* name, LogicalNode* parent, char* appId, char* dataSet, uint32_t confRef, bool fixedOffs, +GSEControlBlock_create(const char* name, LogicalNode* parent, const char* appId, const char* dataSet, uint32_t confRef, bool fixedOffs, int minTime, int maxTime) { GSEControlBlock* self = (GSEControlBlock*) GLOBAL_MALLOC(sizeof(GSEControlBlock)); @@ -455,7 +455,7 @@ GSEControlBlock_create(const char* name, LogicalNode* parent, char* appId, char* } SVControlBlock* -SVControlBlock_create(const char* name, LogicalNode* parent, char* svID, char* dataSet, uint32_t confRev, uint8_t smpMod, +SVControlBlock_create(const char* name, LogicalNode* parent, const char* svID, const char* dataSet, uint32_t confRev, uint8_t smpMod, uint16_t smpRate, uint8_t optFlds, bool isUnicast) { SVControlBlock* self = (SVControlBlock*) GLOBAL_MALLOC(sizeof(SVControlBlock)); @@ -926,13 +926,11 @@ IedModel_destroy(IedModel* model) log = nextLog; } - /* delete generic model parts */ if (model->name) GLOBAL_FREEMEM(model->name); GLOBAL_FREEMEM(model); - } diff --git a/src/mms/inc/mms_type_spec.h b/src/mms/inc/mms_type_spec.h index 4e710908..2dec2bf5 100644 --- a/src/mms/inc/mms_type_spec.h +++ b/src/mms/inc/mms_type_spec.h @@ -101,7 +101,7 @@ MmsVariableSpecification_getType(MmsVariableSpecification* self); * \return true if type is matching, false otherwise */ LIB61850_API bool -MmsVariableSpecification_isValueOfType(MmsVariableSpecification* self, MmsValue* value); +MmsVariableSpecification_isValueOfType(MmsVariableSpecification* self, const MmsValue* value); /** * \brief get the name of the variable diff --git a/src/mms/inc/mms_value.h b/src/mms/inc/mms_value.h index 28b1fab4..b4222f04 100644 --- a/src/mms/inc/mms_value.h +++ b/src/mms/inc/mms_value.h @@ -80,7 +80,7 @@ typedef struct sMmsValue MmsValue; * \return a newly created array instance */ LIB61850_API MmsValue* -MmsValue_createArray(MmsVariableSpecification* elementType, int size); +MmsValue_createArray(const MmsVariableSpecification* elementType, int size); /** * \brief Get the size of an array. @@ -552,7 +552,7 @@ MmsValue_getBinaryTimeAsUtcMs(const MmsValue* self); * \param size the size of the buffer that contains the new value */ LIB61850_API void -MmsValue_setOctetString(MmsValue* self, uint8_t* buf, int size); +MmsValue_setOctetString(MmsValue* self, const uint8_t* buf, int size); /** * \brief Returns the size in bytes of an MmsValue object of type MMS_OCTET_STRING. @@ -839,7 +839,7 @@ MmsValue_newBinaryTime(bool timeOfDay); * \return new MmsValue instance of type MMS_VISIBLE_STRING */ LIB61850_API MmsValue* -MmsValue_newVisibleStringFromByteArray(uint8_t* byteArray, int size); +MmsValue_newVisibleStringFromByteArray(const uint8_t* byteArray, int size); /** * \brief Create a new MmsValue instance of type MMS_STRING from the specified byte array @@ -850,7 +850,7 @@ MmsValue_newVisibleStringFromByteArray(uint8_t* byteArray, int size); * \return new MmsValue instance of type MMS_STRING */ LIB61850_API MmsValue* -MmsValue_newMmsStringFromByteArray(uint8_t* byteArray, int size); +MmsValue_newMmsStringFromByteArray(const uint8_t* byteArray, int size); /** * \brief Create a new MmsValue instance of type MMS_STRING. @@ -860,7 +860,7 @@ MmsValue_newMmsStringFromByteArray(uint8_t* byteArray, int size); * \return new MmsValue instance of type MMS_STRING */ LIB61850_API MmsValue* -MmsValue_newMmsString(char* string); +MmsValue_newMmsString(const char* string); /** * \brief Set the value of MmsValue instance of type MMS_STRING diff --git a/src/mms/iso_mms/common/mms_type_spec.c b/src/mms/iso_mms/common/mms_type_spec.c index 5dd93c3f..a59c1e02 100644 --- a/src/mms/iso_mms/common/mms_type_spec.c +++ b/src/mms/iso_mms/common/mms_type_spec.c @@ -103,7 +103,7 @@ MmsVariableSpecification_getType(MmsVariableSpecification* self) } bool -MmsVariableSpecification_isValueOfType(MmsVariableSpecification* self, MmsValue* value) +MmsVariableSpecification_isValueOfType(MmsVariableSpecification* self, const MmsValue* value) { if ((self->type) == (value->type)) { diff --git a/src/mms/iso_mms/common/mms_value.c b/src/mms/iso_mms/common/mms_value.c index 02d66814..b6538262 100644 --- a/src/mms/iso_mms/common/mms_value.c +++ b/src/mms/iso_mms/common/mms_value.c @@ -1418,7 +1418,7 @@ MmsValue_newOctetString(int size, int maxSize) } void -MmsValue_setOctetString(MmsValue* self, uint8_t* buf, int size) +MmsValue_setOctetString(MmsValue* self, const uint8_t* buf, int size) { if (size <= self->value.octetString.maxSize) { memcpy(self->value.octetString.buf, buf, size); @@ -1691,7 +1691,7 @@ MmsValue_newVisibleStringWithSize(int size) } MmsValue* -MmsValue_newMmsString(char* string) +MmsValue_newMmsString(const char* string) { return MmsValue_newString(string, MMS_STRING); } @@ -1832,13 +1832,13 @@ exit_function: } MmsValue* -MmsValue_newVisibleStringFromByteArray(uint8_t* byteArray, int size) +MmsValue_newVisibleStringFromByteArray(const uint8_t* byteArray, int size) { return MmsValue_newStringFromByteArray(byteArray, size, MMS_VISIBLE_STRING); } MmsValue* -MmsValue_newMmsStringFromByteArray(uint8_t* byteArray, int size) +MmsValue_newMmsStringFromByteArray(const uint8_t* byteArray, int size) { return MmsValue_newStringFromByteArray(byteArray, size, MMS_STRING); } @@ -1913,7 +1913,7 @@ MmsValue_newUtcTimeByMsTime(uint64_t timeval) } MmsValue* -MmsValue_createArray(MmsVariableSpecification* elementType, int size) +MmsValue_createArray(const MmsVariableSpecification* elementType, int size) { MmsValue* self = (MmsValue*) GLOBAL_CALLOC(1, sizeof(MmsValue));