diff --git a/CMakeLists.txt b/CMakeLists.txt index d88f37de..ad2cbd34 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -137,6 +137,13 @@ add_definitions(-DCONFIG_MMS_SUPPORT_TLS=1) endif(WITH_MBEDTLS) +include(CheckCCompilerFlag) + +check_c_compiler_flag("-Wredundant-decls" SUPPORT_REDUNDANT_DECLS) +if (SUPPORT_REDUNDANT_DECLS) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wredundant-decls") +endif(SUPPORT_REDUNDANT_DECLS) + # write the detected stuff to this file configure_file( ${CMAKE_CURRENT_LIST_DIR}/config/stack_config.h.cmake diff --git a/examples/iec61850_9_2_LE_example/iec61850_9_2_LE_example.c b/examples/iec61850_9_2_LE_example/iec61850_9_2_LE_example.c index 34aba48e..a68ef7ce 100644 --- a/examples/iec61850_9_2_LE_example/iec61850_9_2_LE_example.c +++ b/examples/iec61850_9_2_LE_example/iec61850_9_2_LE_example.c @@ -34,9 +34,6 @@ /* Include the generated header with the model access handles */ #include "static_model.h" -/* import IEC 61850 device model created from SCL-File */ -extern IedModel iedModel; - static int running = 0; static int svcbEnabled = 1; diff --git a/examples/server_example_61400_25/server_example_61400_25.c b/examples/server_example_61400_25/server_example_61400_25.c index 7c4c0319..118f13e9 100644 --- a/examples/server_example_61400_25/server_example_61400_25.c +++ b/examples/server_example_61400_25/server_example_61400_25.c @@ -29,9 +29,6 @@ #include "static_model.h" -/* import IEC 61850 device model created from SCL-File */ -extern IedModel iedModel; - static IedServer iedServer; static int running = 0; diff --git a/examples/server_example_basic_io/server_example_basic_io.c b/examples/server_example_basic_io/server_example_basic_io.c index 66914aa1..dea67a69 100644 --- a/examples/server_example_basic_io/server_example_basic_io.c +++ b/examples/server_example_basic_io/server_example_basic_io.c @@ -15,9 +15,6 @@ #include "static_model.h" -/* import IEC 61850 device model created from SCL-File */ -extern IedModel iedModel; - static int running = 0; static IedServer iedServer = NULL; diff --git a/examples/server_example_complex_array/server_example_ca.c b/examples/server_example_complex_array/server_example_ca.c index c70eb7b6..a2406639 100644 --- a/examples/server_example_complex_array/server_example_ca.c +++ b/examples/server_example_complex_array/server_example_ca.c @@ -14,9 +14,6 @@ #include -/* import IEC 61850 device model created from ICD-File */ -extern IedModel iedModel; - static int running = 0; static void diff --git a/examples/server_example_control/server_example_control.c b/examples/server_example_control/server_example_control.c index 364c20c6..6159cdda 100644 --- a/examples/server_example_control/server_example_control.c +++ b/examples/server_example_control/server_example_control.c @@ -12,9 +12,6 @@ #include "static_model.h" -/* import IEC 61850 device model created from SCL-File */ -extern IedModel iedModel; - static int running = 0; static IedServer iedServer = NULL; diff --git a/examples/server_example_deadband/server_example_deadband.c b/examples/server_example_deadband/server_example_deadband.c index a7d18bde..044b72e8 100644 --- a/examples/server_example_deadband/server_example_deadband.c +++ b/examples/server_example_deadband/server_example_deadband.c @@ -15,9 +15,6 @@ #include "static_model.h" -/* import IEC 61850 device model created from SCL-File */ -extern IedModel iedModel; - static int running = 0; static IedServer iedServer = NULL; diff --git a/examples/server_example_files/server_example_files.c b/examples/server_example_files/server_example_files.c index 78956c55..702eed59 100644 --- a/examples/server_example_files/server_example_files.c +++ b/examples/server_example_files/server_example_files.c @@ -14,9 +14,6 @@ #include "static_model.h" -/* import IEC 61850 device model created from SCL-File */ -extern IedModel iedModel; - static int running = 0; static IedServer iedServer = NULL; diff --git a/examples/server_example_goose/server_example_goose.c b/examples/server_example_goose/server_example_goose.c index ef0db87c..01dfe1ec 100644 --- a/examples/server_example_goose/server_example_goose.c +++ b/examples/server_example_goose/server_example_goose.c @@ -14,9 +14,6 @@ #include "static_model.h" -/* import IEC 61850 device model created from SCL-File */ -extern IedModel iedModel; - static int running = 0; static IedServer iedServer = NULL; diff --git a/examples/server_example_logging/server_example_logging.c b/examples/server_example_logging/server_example_logging.c index 96b71bb9..01ad5ae2 100644 --- a/examples/server_example_logging/server_example_logging.c +++ b/examples/server_example_logging/server_example_logging.c @@ -20,9 +20,6 @@ LogStorage SqliteLogStorage_createInstance(const char* filename); -/* import IEC 61850 device model created from SCL-File */ -extern IedModel iedModel; - static int running = 0; static IedServer iedServer = NULL; diff --git a/examples/server_example_password_auth/server_example_password_auth.c b/examples/server_example_password_auth/server_example_password_auth.c index 149c6fbb..2327923f 100644 --- a/examples/server_example_password_auth/server_example_password_auth.c +++ b/examples/server_example_password_auth/server_example_password_auth.c @@ -19,10 +19,7 @@ #include #include #include -#include "../server_example_password_auth/static_model.h" - -/* import IEC 61850 device model created from SCL-File */ -extern IedModel iedModel; +#include "static_model.h" static int running = 0; diff --git a/examples/server_example_service_tracking/server_example_service_tracking.c b/examples/server_example_service_tracking/server_example_service_tracking.c index f2532357..3d34df19 100644 --- a/examples/server_example_service_tracking/server_example_service_tracking.c +++ b/examples/server_example_service_tracking/server_example_service_tracking.c @@ -13,9 +13,6 @@ #include "static_model.h" -/* import IEC 61850 device model created from SCL-File */ -extern IedModel iedModel; - static int running = 0; static IedServer iedServer = NULL; diff --git a/examples/server_example_setting_groups/server_example_sg.c b/examples/server_example_setting_groups/server_example_sg.c index e319b26d..4466c1ad 100644 --- a/examples/server_example_setting_groups/server_example_sg.c +++ b/examples/server_example_setting_groups/server_example_sg.c @@ -12,9 +12,6 @@ /* Include the generated header with the model access handles */ #include "static_model.h" -/* import IEC 61850 device model created from SCL-File */ -extern IedModel iedModel; - static IedServer iedServer; static int running = 0; diff --git a/examples/server_example_simple/server_example_simple.c b/examples/server_example_simple/server_example_simple.c index 5bd97693..5815b695 100644 --- a/examples/server_example_simple/server_example_simple.c +++ b/examples/server_example_simple/server_example_simple.c @@ -29,9 +29,6 @@ #include "static_model.h" -/* import IEC 61850 device model created from SCL-File */ -extern IedModel iedModel; - static int running = 0; void diff --git a/examples/server_example_substitution/server_example_substitution.c b/examples/server_example_substitution/server_example_substitution.c index 2f41d892..c8292dee 100644 --- a/examples/server_example_substitution/server_example_substitution.c +++ b/examples/server_example_substitution/server_example_substitution.c @@ -17,9 +17,6 @@ #include "static_model.h" -/* import IEC 61850 device model created from SCL-File */ -extern IedModel iedModel; - static int running = 0; static IedServer iedServer = NULL; diff --git a/examples/server_example_threadless/server_example_threadless.c b/examples/server_example_threadless/server_example_threadless.c index d01efe28..ae63ce62 100644 --- a/examples/server_example_threadless/server_example_threadless.c +++ b/examples/server_example_threadless/server_example_threadless.c @@ -13,9 +13,6 @@ #include "static_model.h" -/* import IEC 61850 device model created from SCL-File */ -extern IedModel iedModel; - static int running = 0; static IedServer iedServer = NULL; diff --git a/examples/server_example_write_handler/server_example_write_handler.c b/examples/server_example_write_handler/server_example_write_handler.c index d1d2295e..49151f06 100644 --- a/examples/server_example_write_handler/server_example_write_handler.c +++ b/examples/server_example_write_handler/server_example_write_handler.c @@ -10,9 +10,6 @@ #include "static_model.h" -/* import IEC 61850 device model created from SCL-File */ -extern IedModel iedModel; - static int running = 0; static IedServer iedServer = NULL; diff --git a/examples/tls_server_example/tls_server_example.c b/examples/tls_server_example/tls_server_example.c index d5fdf211..08bfd662 100644 --- a/examples/tls_server_example/tls_server_example.c +++ b/examples/tls_server_example/tls_server_example.c @@ -13,9 +13,6 @@ #include "static_model.h" -/* import IEC 61850 device model created from SCL-File */ -extern IedModel iedModel; - static int running = 0; static IedServer iedServer = NULL; diff --git a/src/iec61850/inc_private/ied_connection_private.h b/src/iec61850/inc_private/ied_connection_private.h index 619da24c..e571ca8e 100644 --- a/src/iec61850/inc_private/ied_connection_private.h +++ b/src/iec61850/inc_private/ied_connection_private.h @@ -1,7 +1,7 @@ /* * ied_connection_private.h * - * Copyright 2013-2018 Michael Zillgith + * Copyright 2013-2022 Michael Zillgith * * This file is part of libIEC61850. * @@ -145,16 +145,4 @@ controlObjectClient_invokeCommandTerminationHandler(ControlObjectClient self); LIB61850_INTERNAL void ControlObjectClient_setLastApplError(ControlObjectClient self, LastApplError lastAppIError); -/* some declarations that are shared with server side ! */ - -LIB61850_INTERNAL char* -MmsMapping_createMmsVariableNameFromObjectReference(const char* objectReference, FunctionalConstraint fc, char* buffer); - - -LIB61850_INTERNAL char* -MmsMapping_varAccessSpecToObjectReference(MmsVariableAccessSpecification* varAccessSpec); - -LIB61850_INTERNAL MmsVariableAccessSpecification* -MmsMapping_ObjectReferenceToVariableAccessSpec(char* objectReference); - #endif /* IED_CONNECTION_PRIVATE_H_ */ diff --git a/src/iec61850/server/mms_mapping/mms_mapping.c b/src/iec61850/server/mms_mapping/mms_mapping.c index a027a281..81ac3cbc 100644 --- a/src/iec61850/server/mms_mapping/mms_mapping.c +++ b/src/iec61850/server/mms_mapping/mms_mapping.c @@ -69,12 +69,10 @@ typedef struct } SettingGroup; #if (CONFIG_IEC61850_CONTROL_SERVICE == 1) -MmsValue* -Control_readAccessControlObject(MmsMapping* self, MmsDomain* domain, char* variableIdOrig, - MmsServerConnection connection, bool isDirectAccess); bool ControlObject_unselect(ControlObject* self, MmsServerConnection connection, MmsMapping* mmsMapping); + #endif void /* Create PHYCOMADDR ACSI type instance */ diff --git a/src/mms/inc/mms_client_connection.h b/src/mms/inc/mms_client_connection.h index 5126dbb9..70bedc28 100644 --- a/src/mms/inc/mms_client_connection.h +++ b/src/mms/inc/mms_client_connection.h @@ -1036,6 +1036,11 @@ LIB61850_API void MmsConnection_identifyAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError, MmsConnection_IdentifyHandler handler, void* parameter); +/** + * \brief Destroy (free) an MmsServerIdentity object + * + * \param self the object to destroy + */ LIB61850_API void MmsServerIdentity_destroy(MmsServerIdentity* self); @@ -1285,14 +1290,6 @@ 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); -/** - * \brief Destroy (free) an MmsServerIdentity object - * - * \param self the object to destroy - */ -LIB61850_API void -MmsServerIdentity_destroy(MmsServerIdentity* self); - /**@}*/ #ifdef __cplusplus diff --git a/src/mms/inc_private/ber_encoder.h b/src/mms/inc_private/ber_encoder.h index 9f88b168..48cd2bc6 100644 --- a/src/mms/inc_private/ber_encoder.h +++ b/src/mms/inc_private/ber_encoder.h @@ -64,9 +64,6 @@ BerEncoder_encodeUInt32WithTL(uint8_t tag, uint32_t value, uint8_t* buffer, int LIB61850_INTERNAL int BerEncoder_encodeBitString(uint8_t tag, int bitStringSize, uint8_t* bitString, uint8_t* buffer, int bufPos); -LIB61850_INTERNAL int -BerEncoder_determineEncodedBitStringSize(int bitStringSize); - LIB61850_INTERNAL int BerEncoder_encodeFloat(uint8_t* floatValue, uint8_t formatWidth, uint8_t exponentWidth, uint8_t* buffer, int bufPos); diff --git a/src/mms/inc_private/mms_server_internal.h b/src/mms/inc_private/mms_server_internal.h index 62bcc81f..404b7030 100644 --- a/src/mms/inc_private/mms_server_internal.h +++ b/src/mms/inc_private/mms_server_internal.h @@ -1,7 +1,7 @@ /* * mms_server_internal.h * - * Copyright 2013-2018 Michael Zillgith + * Copyright 2013-2022 Michael Zillgith * * This file is part of libIEC61850. * @@ -260,9 +260,6 @@ mmsServer_handleReadRequest( LIB61850_INTERNAL MmsPdu_t* mmsServer_createConfirmedResponse(uint32_t invokeId); -LIB61850_INTERNAL void -mmsMsg_createServiceErrorPdu(uint32_t invokeId, ByteBuffer* response, MmsError errorType); - LIB61850_INTERNAL void mmsMsg_createInitiateErrorPdu(ByteBuffer* response, uint8_t initiateErrorCode); @@ -415,9 +412,6 @@ LIB61850_INTERNAL void mmsServer_createMmsWriteResponse(MmsServerConnection connection, uint32_t invokeId, ByteBuffer* response, int numberOfItems, MmsDataAccessError* accessResults); -LIB61850_INTERNAL void -mmsMsg_createMmsRejectPdu(uint32_t* invokeId, int reason, ByteBuffer* response); - LIB61850_INTERNAL MmsError mmsServer_callVariableListChangedHandler(bool create, MmsVariableListType listType, MmsDomain* domain, char* listName, MmsServerConnection connection);