diff --git a/src/iec61850/inc_private/control.h b/src/iec61850/inc_private/control.h index 5b26df4..cd127b0 100644 --- a/src/iec61850/inc_private/control.h +++ b/src/iec61850/inc_private/control.h @@ -86,10 +86,10 @@ MmsDomain* ControlObject_getDomain(ControlObject* self); bool -ControlObject_select(ControlObject* self, MmsServerConnection* connection); +ControlObject_select(ControlObject* self, MmsServerConnection connection); bool -ControlObject_unselect(ControlObject* self, MmsServerConnection* connection); +ControlObject_unselect(ControlObject* self, MmsServerConnection connection); void ControlObject_installListener(ControlObject* self, ControlHandler listener, void* parameter); diff --git a/src/iec61850/inc_private/mms_mapping.h b/src/iec61850/inc_private/mms_mapping.h index b45b65e..2cbd425 100644 --- a/src/iec61850/inc_private/mms_mapping.h +++ b/src/iec61850/inc_private/mms_mapping.h @@ -143,7 +143,7 @@ MmsMapping_installWriteAccessHandler(MmsMapping* self, DataAttribute* dataAttrib MmsDataAccessError Control_writeAccessControlObject(MmsMapping* self, MmsDomain* domain, char* variableIdOrig, - MmsValue* value, MmsServerConnection* connection); + MmsValue* value, MmsServerConnection connection); ControlObject* Control_lookupControlObject(MmsMapping* self, MmsDomain* domain, char* lnName, char* objectName); diff --git a/src/iec61850/inc_private/reporting.h b/src/iec61850/inc_private/reporting.h index dfba9df..1f4b1bc 100644 --- a/src/iec61850/inc_private/reporting.h +++ b/src/iec61850/inc_private/reporting.h @@ -69,7 +69,7 @@ typedef struct { uint32_t bufTm; uint64_t nextIntgReportTime; uint64_t reservationTimeout; - MmsServerConnection* clientConnection; + MmsServerConnection clientConnection; uint64_t lastEntryId; @@ -112,7 +112,7 @@ Reporting_createMmsUnbufferedRCBs(MmsMapping* self, MmsDomain* domain, MmsDataAccessError Reporting_RCBWriteAccessHandler(MmsMapping* self, ReportControl* rc, char* elementName, MmsValue* value, - MmsServerConnection* connection); + MmsServerConnection connection); void Reporting_activateBufferedReports(MmsMapping* self); @@ -121,6 +121,6 @@ void Reporting_processReportEvents(MmsMapping* self, uint64_t currentTimeInMs); void -Reporting_deactivateReportsForConnection(MmsMapping* self, MmsServerConnection* connection); +Reporting_deactivateReportsForConnection(MmsMapping* self, MmsServerConnection connection); #endif /* REPORTING_H_ */ diff --git a/src/iec61850/server/impl/client_connection.c b/src/iec61850/server/impl/client_connection.c index 2e02db5..aefab38 100644 --- a/src/iec61850/server/impl/client_connection.c +++ b/src/iec61850/server/impl/client_connection.c @@ -1,7 +1,7 @@ /* * client_connection.c * - * Copyright 2013 Michael Zillgith + * Copyright 2013, 2014, 2015 Michael Zillgith * * This file is part of libIEC61850. * @@ -29,6 +29,7 @@ #include "hal_thread.h" #include "ied_server_private.h" +#include "mms_server.h" struct sClientConnection { @@ -121,16 +122,16 @@ private_ClientConnection_getServerConnectionHandle(ClientConnection self) const char* ClientConnection_getPeerAddress(ClientConnection self) { - MmsServerConnection* mmsConnection = (MmsServerConnection*) self->serverConnectionHandle; + MmsServerConnection mmsConnection = (MmsServerConnection) self->serverConnectionHandle; - return IsoConnection_getPeerAddress(mmsConnection->isoConnection); + return IsoConnection_getPeerAddress(MmsServerConnection_getIsoConnection(mmsConnection)); } void* ClientConnection_getSecurityToken(ClientConnection self) { - MmsServerConnection* mmsConnection = (MmsServerConnection*) self->serverConnectionHandle; + MmsServerConnection mmsConnection = (MmsServerConnection) self->serverConnectionHandle; - return IsoConnection_getSecurityToken(mmsConnection->isoConnection); + return IsoConnection_getSecurityToken(MmsServerConnection_getIsoConnection(mmsConnection)); } diff --git a/src/iec61850/server/mms_mapping/control.c b/src/iec61850/server/mms_mapping/control.c index da5d67e..c977463 100644 --- a/src/iec61850/server/mms_mapping/control.c +++ b/src/iec61850/server/mms_mapping/control.c @@ -91,7 +91,7 @@ struct sControlObject uint64_t operateTime; bool operateOnce; - MmsServerConnection* mmsConnection; + MmsServerConnection mmsConnection; MmsValue* emptyString; @@ -115,7 +115,7 @@ struct sControlObject }; void -ControlObject_sendLastApplError(ControlObject* self, MmsServerConnection* connection, char* ctlVariable, int error, +ControlObject_sendLastApplError(ControlObject* self, MmsServerConnection connection, char* ctlVariable, int error, ControlAddCause addCause, MmsValue* ctlNum, MmsValue* origin, bool handlerMode); void @@ -126,7 +126,7 @@ ControlObject_sendCommandTerminationNegative(ControlObject* self); MmsValue* Control_readAccessControlObject(MmsMapping* self, MmsDomain* domain, char* variableIdOrig, - MmsServerConnection* connection); + MmsServerConnection connection); static void setState(ControlObject* self, int newState) @@ -600,7 +600,7 @@ ControlObject_getMmsValue(ControlObject* self) } static void -selectObject(ControlObject* self, uint64_t selectTime, MmsServerConnection* connection) +selectObject(ControlObject* self, uint64_t selectTime, MmsServerConnection connection) { updateSboTimeoutValue(self); self->selected = true; @@ -627,7 +627,7 @@ checkSelectTimeout(ControlObject* self, uint64_t currentTime) } bool -ControlObject_unselect(ControlObject* self, MmsServerConnection* connection) +ControlObject_unselect(ControlObject* self, MmsServerConnection connection) { if (self->mmsConnection == connection) { abortControlOperation(self); @@ -949,7 +949,7 @@ ControlObject_sendCommandTerminationNegative(ControlObject* self) void -ControlObject_sendLastApplError(ControlObject* self, MmsServerConnection* connection, char* ctlVariable, int error, +ControlObject_sendLastApplError(ControlObject* self, MmsServerConnection connection, char* ctlVariable, int error, ControlAddCause addCause, MmsValue* ctlNum, MmsValue* origin, bool handlerMode) { MmsValue lastApplErrorMemory; @@ -1033,7 +1033,7 @@ doesElementEquals(char* element, char* name) MmsValue* Control_readAccessControlObject(MmsMapping* self, MmsDomain* domain, char* variableIdOrig, - MmsServerConnection* connection) + MmsServerConnection connection) { MmsValue* value = NULL; @@ -1207,7 +1207,7 @@ getDataAccessErrorFromCheckHandlerResult(CheckHandlerResult checkResult) MmsDataAccessError Control_writeAccessControlObject(MmsMapping* self, MmsDomain* domain, char* variableIdOrig, - MmsValue* value, MmsServerConnection* connection) + MmsValue* value, MmsServerConnection connection) { MmsDataAccessError indication = DATA_ACCESS_ERROR_OBJECT_ACCESS_DENIED; diff --git a/src/iec61850/server/mms_mapping/mms_mapping.c b/src/iec61850/server/mms_mapping/mms_mapping.c index 9271131..dc29190 100644 --- a/src/iec61850/server/mms_mapping/mms_mapping.c +++ b/src/iec61850/server/mms_mapping/mms_mapping.c @@ -75,7 +75,7 @@ typedef struct #if (CONFIG_IEC61850_CONTROL_SERVICE == 1) MmsValue* Control_readAccessControlObject(MmsMapping* self, MmsDomain* domain, char* variableIdOrig, - MmsServerConnection* connection); + MmsServerConnection connection); #endif void /* Create PHYCOMADDR ACSI type instance */ @@ -559,7 +559,7 @@ unselectSettingGroup(SettingGroup* settingGroup) } static void -unselectAllSettingGroups(MmsMapping* self, MmsServerConnection* serverCon) +unselectAllSettingGroups(MmsMapping* self, MmsServerConnection serverCon) { LinkedList settingGroupElement = LinkedList_getNext(self->settingGroups); @@ -1459,7 +1459,7 @@ getAccessPolicyForFC(MmsMapping* self, FunctionalConstraint fc) static MmsDataAccessError mmsWriteHandler(void* parameter, MmsDomain* domain, - char* variableId, MmsValue* value, MmsServerConnection* connection) + char* variableId, MmsValue* value, MmsServerConnection connection) { MmsMapping* self = (MmsMapping*) parameter; @@ -1865,31 +1865,35 @@ readAccessGooseControlBlock(MmsMapping* self, MmsDomain* domain, char* variableI #endif /* (CONFIG_INCLUDE_GOOSE_SUPPORT == 1) */ static MmsValue* -mmsReadHandler(void* parameter, MmsDomain* domain, char* variableId, MmsServerConnection* connection) +mmsReadHandler(void* parameter, MmsDomain* domain, char* variableId, MmsServerConnection connection) { MmsMapping* self = (MmsMapping*) parameter; + MmsValue* retValue = NULL; + if (DEBUG_IED_SERVER) printf("IED_SERVER: mmsReadHandler: Requested %s\n", variableId); char* separator = strchr(variableId, '$'); if (separator == NULL) - return NULL; + goto exit_function; int lnNameLength = separator - variableId; #if (CONFIG_IEC61850_CONTROL_SERVICE == 1) /* Controllable objects - CO */ if (isControllable(separator)) { - return Control_readAccessControlObject(self, domain, variableId, connection); + retValue = Control_readAccessControlObject(self, domain, variableId, connection); + goto exit_function; } #endif /* GOOSE control blocks - GO */ #if (CONFIG_INCLUDE_GOOSE_SUPPORT == 1) if (isGooseControlBlock(separator)) { - return readAccessGooseControlBlock(self, domain, variableId); + retValue = readAccessGooseControlBlock(self, domain, variableId); + goto exit_function; } #endif @@ -1903,8 +1907,10 @@ mmsReadHandler(void* parameter, MmsDomain* domain, char* variableId, MmsServerCo char* reportName = MmsMapping_getNextNameElement(separator + 1); - if (reportName == NULL) - return NULL; + if (reportName == NULL) { + retValue = NULL; + goto exit_function; + } separator = strchr(reportName, '$'); @@ -1940,7 +1946,9 @@ mmsReadHandler(void* parameter, MmsDomain* domain, char* variableId, MmsServerCo else value = rc->rcbValues; - return value; + retValue = value; + + goto exit_function; } } @@ -1950,7 +1958,8 @@ mmsReadHandler(void* parameter, MmsDomain* domain, char* variableId, MmsServerCo } #endif /* (CONFIG_IEC61850_REPORT_SERVICE == 1) */ - return NULL; +exit_function: + return retValue; } void @@ -1961,7 +1970,7 @@ MmsMapping_setMmsServer(MmsMapping* self, MmsServer server) #if (CONFIG_IEC61850_CONTROL_SERVICE == 1) static void -unselectControlsForConnection(MmsMapping* self, MmsServerConnection* connection) +unselectControlsForConnection(MmsMapping* self, MmsServerConnection connection) { LinkedList controlObjectElement = LinkedList_getNext(self->controlObjects); @@ -1977,7 +1986,7 @@ unselectControlsForConnection(MmsMapping* self, MmsServerConnection* connection) #endif /* (CONFIG_IEC61850_CONTROL_SERVICE == 1) */ static void /* is called by MMS server layer */ -mmsConnectionHandler(void* parameter, MmsServerConnection* connection, MmsServerEvent event) +mmsConnectionHandler(void* parameter, MmsServerConnection connection, MmsServerEvent event) { MmsMapping* self = (MmsMapping*) parameter; @@ -2025,7 +2034,7 @@ mmsConnectionHandler(void* parameter, MmsServerConnection* connection, MmsServer } static MmsDataAccessError -mmsReadAccessHandler (void* parameter, MmsDomain* domain, char* variableId, MmsServerConnection* connection) +mmsReadAccessHandler (void* parameter, MmsDomain* domain, char* variableId, MmsServerConnection connection) { MmsMapping* self = (MmsMapping*) parameter; @@ -2054,7 +2063,7 @@ mmsReadAccessHandler (void* parameter, MmsDomain* domain, char* variableId, MmsS static bool variableListChangedHandler (void* parameter, bool create, MmsVariableListType listType, MmsDomain* domain, - char* listName, MmsServerConnection* connection) + char* listName, MmsServerConnection connection) { bool allow = true; diff --git a/src/iec61850/server/mms_mapping/reporting.c b/src/iec61850/server/mms_mapping/reporting.c index d39b0f2..063400f 100644 --- a/src/iec61850/server/mms_mapping/reporting.c +++ b/src/iec61850/server/mms_mapping/reporting.c @@ -462,7 +462,7 @@ createDataSetValuesShadowBuffer(ReportControl* rc) } static bool -updateReportDataset(MmsMapping* mapping, ReportControl* rc, MmsValue* newDatSet, MmsServerConnection* connection) +updateReportDataset(MmsMapping* mapping, ReportControl* rc, MmsValue* newDatSet, MmsServerConnection connection) { bool success = false; @@ -1084,7 +1084,7 @@ Reporting_createMmsUnbufferedRCBs(MmsMapping* self, MmsDomain* domain, #define CONFIG_REPORTING_SUPPORTS_OWNER 1 static void -updateOwner(ReportControl* rc, MmsServerConnection* connection) +updateOwner(ReportControl* rc, MmsServerConnection connection) { rc->clientConnection = connection; @@ -1182,7 +1182,7 @@ increaseConfRev(ReportControl* self) MmsDataAccessError Reporting_RCBWriteAccessHandler(MmsMapping* self, ReportControl* rc, char* elementName, MmsValue* value, - MmsServerConnection* connection) + MmsServerConnection connection) { MmsDataAccessError retVal = DATA_ACCESS_ERROR_SUCCESS; @@ -1428,7 +1428,7 @@ exit_function: } void -Reporting_deactivateReportsForConnection(MmsMapping* self, MmsServerConnection* connection) +Reporting_deactivateReportsForConnection(MmsMapping* self, MmsServerConnection connection) { LinkedList reportControl = self->reportControls; diff --git a/src/mms/inc/mms_server.h b/src/mms/inc/mms_server.h index 1b42f5a..e2c4ee7 100644 --- a/src/mms/inc/mms_server.h +++ b/src/mms/inc/mms_server.h @@ -32,8 +32,6 @@ extern "C" { #endif -#include "stack_config.h" - #include "mms_device_model.h" #include "mms_value.h" #include "iso_server.h" @@ -44,42 +42,7 @@ typedef enum { typedef struct sMmsServer* MmsServer; -#if (MMS_FILE_SERVICE == 1) - -#ifndef CONFIG_MMS_MAX_NUMBER_OF_OPEN_FILES_PER_CONNECTION -#define CONFIG_MMS_MAX_NUMBER_OF_OPEN_FILES_PER_CONNECTION 5 -#endif - -#include "hal_filesystem.h" - -typedef struct { - int32_t frsmId; - uint32_t readPosition; - uint32_t fileSize; - FileHandle fileHandle; -} MmsFileReadStateMachine; - -#endif /* (MMS_FILE_SERVICE == 1) */ - -typedef struct sMmsServerConnection { - int maxServOutstandingCalling; - int maxServOutstandingCalled; - int dataStructureNestingLevel; - int maxPduSize; /* local detail */ - IsoConnection isoConnection; - MmsServer server; - uint32_t lastInvokeId; - -#if (MMS_DYNAMIC_DATA_SETS == 1) - LinkedList /**/namedVariableLists; /* aa-specific named variable lists */ -#endif - -#if (MMS_FILE_SERVICE == 1) - int32_t nextFrsmId; - MmsFileReadStateMachine frsms[CONFIG_MMS_MAX_NUMBER_OF_OPEN_FILES_PER_CONNECTION]; -#endif - -} MmsServerConnection; +typedef struct sMmsServerConnection* MmsServerConnection; typedef enum { MMS_DOMAIN_SPECIFIC, @@ -88,17 +51,17 @@ typedef enum { } MmsVariableListType; typedef MmsValue* (*MmsReadVariableHandler)(void* parameter, MmsDomain* domain, - char* variableId, MmsServerConnection* connection); + char* variableId, MmsServerConnection connection); typedef MmsDataAccessError (*MmsReadAccessHandler) (void* parameter, MmsDomain* domain, - char* variableId, MmsServerConnection* connection); + char* variableId, MmsServerConnection connection); typedef MmsDataAccessError (*MmsWriteVariableHandler)(void* parameter, MmsDomain* domain, char* variableId, MmsValue* value, - MmsServerConnection* connection); + MmsServerConnection connection); typedef void (*MmsConnectionHandler)(void* parameter, - MmsServerConnection* connection, MmsServerEvent event); + MmsServerConnection connection, MmsServerEvent event); MmsServer MmsServer_create(IsoServer isoServer, MmsDevice* device); @@ -150,7 +113,7 @@ MmsServer_isLocked(MmsServer self); * is returned to the client. */ typedef bool (*MmsNamedVariableListChangedHandler)(void* parameter, bool create, MmsVariableListType listType, MmsDomain* domain, - char* listName, MmsServerConnection* connection); + char* listName, MmsServerConnection connection); /** * \brief Install callback handler that is called when a named variable list changes (is created or deleted) @@ -326,7 +289,7 @@ MmsServer_getRevision(MmsServer self); * \param connection is the MmsServerConnection instance that received the MMS status request * \param extendedDerivation indicates if the request contains the extendedDerivation parameter */ -typedef void (*MmsStatusRequestListener)(void* parameter, MmsServer mmsServer, MmsServerConnection* connection, bool extendedDerivation); +typedef void (*MmsStatusRequestListener)(void* parameter, MmsServer mmsServer, MmsServerConnection connection, bool extendedDerivation); /** * \brief set the VMD state values for the VMD status service @@ -368,6 +331,12 @@ MmsServer_getVMDPhysicalStatus(MmsServer self); void MmsServer_setStatusRequestListener(MmsServer self, MmsStatusRequestListener listener, void* parameter); +char* +MmsServerConnection_getClientAddress(MmsServerConnection self); + +IsoConnection +MmsServerConnection_getIsoConnection(MmsServerConnection self); + /**@}*/ #ifdef __cplusplus diff --git a/src/mms/inc_private/mms_server_connection.h b/src/mms/inc_private/mms_server_connection.h index 2468710..611563e 100644 --- a/src/mms/inc_private/mms_server_connection.h +++ b/src/mms/inc_private/mms_server_connection.h @@ -39,30 +39,26 @@ #include "linked_list.h" #include "byte_buffer.h" -MmsServerConnection* -MmsServerConnection_init(MmsServerConnection* connection, MmsServer server, IsoConnection isoCon); +MmsServerConnection +MmsServerConnection_init(MmsServerConnection connection, MmsServer server, IsoConnection isoCon); void -MmsServerConnection_destroy(MmsServerConnection* connection); +MmsServerConnection_destroy(MmsServerConnection connection); bool -MmsServerConnection_addNamedVariableList(MmsServerConnection* self, MmsNamedVariableList variableList); +MmsServerConnection_addNamedVariableList(MmsServerConnection self, MmsNamedVariableList variableList); MmsNamedVariableList -MmsServerConnection_getNamedVariableList(MmsServerConnection* self, char* variableListName); +MmsServerConnection_getNamedVariableList(MmsServerConnection self, char* variableListName); LinkedList -MmsServerConnection_getNamedVariableLists(MmsServerConnection* self); +MmsServerConnection_getNamedVariableLists(MmsServerConnection self); void -MmsServerConnection_deleteNamedVariableList(MmsServerConnection* self, char* listName); - -char* -MmsServerConnection_getClientAddress(MmsServerConnection* self); +MmsServerConnection_deleteNamedVariableList(MmsServerConnection self, char* listName); MmsIndication -MmsServerConnection_parseMessage -(MmsServerConnection* connection, ByteBuffer* message, ByteBuffer* response); +MmsServerConnection_parseMessage(MmsServerConnection connection, ByteBuffer* message, ByteBuffer* response); /** \brief send information report for a single VMD specific variable @@ -70,7 +66,7 @@ MmsServerConnection_parseMessage * \param handlerMode send this message in the context of a stack callback handler */ void -MmsServerConnection_sendInformationReportSingleVariableVMDSpecific(MmsServerConnection* self, +MmsServerConnection_sendInformationReportSingleVariableVMDSpecific(MmsServerConnection self, char* itemId, MmsValue* value, bool handlerMode); @@ -79,7 +75,7 @@ MmsServerConnection_sendInformationReportSingleVariableVMDSpecific(MmsServerConn * \param handlerMode send this message in the context of a stack callback handler */ void /* send information report for a VMD specific named variable list */ -MmsServerConnection_sendInformationReportVMDSpecific(MmsServerConnection* self, char* itemId, LinkedList values +MmsServerConnection_sendInformationReportVMDSpecific(MmsServerConnection self, char* itemId, LinkedList values , bool handlerMode); /** \brief send information report for list of variables @@ -88,19 +84,19 @@ MmsServerConnection_sendInformationReportVMDSpecific(MmsServerConnection* self, */ void MmsServerConnection_sendInformationReportListOfVariables( - MmsServerConnection* self, + MmsServerConnection self, LinkedList /* MmsVariableAccessSpecification */ variableAccessDeclarations, LinkedList /* MmsValue */ values, bool handlerMode ); void -MmsServerConnection_sendWriteResponse(MmsServerConnection* self, uint32_t invokeId, MmsDataAccessError indication, +MmsServerConnection_sendWriteResponse(MmsServerConnection self, uint32_t invokeId, MmsDataAccessError indication, bool handlerMode); uint32_t -MmsServerConnection_getLastInvokeId(MmsServerConnection* self); +MmsServerConnection_getLastInvokeId(MmsServerConnection self); #endif /* MMS_SERVER_CONNECTION_H_ */ diff --git a/src/mms/inc_private/mms_server_internal.h b/src/mms/inc_private/mms_server_internal.h index b983773..ecf6411 100644 --- a/src/mms/inc_private/mms_server_internal.h +++ b/src/mms/inc_private/mms_server_internal.h @@ -99,26 +99,63 @@ struct sMmsServer { #endif /* MMS_IDENTIFY_SERVICE == 1 */ }; +#if (MMS_FILE_SERVICE == 1) + +#ifndef CONFIG_MMS_MAX_NUMBER_OF_OPEN_FILES_PER_CONNECTION +#define CONFIG_MMS_MAX_NUMBER_OF_OPEN_FILES_PER_CONNECTION 5 +#endif + +#include "hal_filesystem.h" + +typedef struct { + int32_t frsmId; + uint32_t readPosition; + uint32_t fileSize; + FileHandle fileHandle; +} MmsFileReadStateMachine; + +#endif /* (MMS_FILE_SERVICE == 1) */ + +struct sMmsServerConnection { + int maxServOutstandingCalling; + int maxServOutstandingCalled; + int dataStructureNestingLevel; + int maxPduSize; /* local detail */ + IsoConnection isoConnection; + MmsServer server; + uint32_t lastInvokeId; + +#if (MMS_DYNAMIC_DATA_SETS == 1) + LinkedList /**/namedVariableLists; /* aa-specific named variable lists */ +#endif + +#if (MMS_FILE_SERVICE == 1) + int32_t nextFrsmId; + MmsFileReadStateMachine frsms[CONFIG_MMS_MAX_NUMBER_OF_OPEN_FILES_PER_CONNECTION]; +#endif + +}; + /* write_out function required for ASN.1 encoding */ int mmsServer_write_out(const void *buffer, size_t size, void *app_key); void -mmsServer_handleDeleteNamedVariableListRequest(MmsServerConnection* connection, +mmsServer_handleDeleteNamedVariableListRequest(MmsServerConnection connection, uint8_t* buffer, int bufPos, int maxBufPos, uint32_t invokeId, ByteBuffer* response); void mmsServer_handleGetNamedVariableListAttributesRequest( - MmsServerConnection* connection, + MmsServerConnection connection, uint8_t* buffer, int bufPos, int maxBufPos, uint32_t invokeId, ByteBuffer* response); void mmsServer_handleReadRequest( - MmsServerConnection* connection, + MmsServerConnection connection, uint8_t* buffer, int bufPos, int maxBufPos, uint32_t invokeId, ByteBuffer* response); @@ -134,47 +171,47 @@ mmsServer_writeConcludeResponsePdu(ByteBuffer* response); void mmsServer_handleInitiateRequest ( - MmsServerConnection* self, + MmsServerConnection self, uint8_t* buffer, int bufPos, int maxBufPos, ByteBuffer* response); int mmsServer_handleGetVariableAccessAttributesRequest( - MmsServerConnection* connection, + MmsServerConnection connection, uint8_t* buffer, int bufPos, int maxBufPos, uint32_t invokeId, ByteBuffer* response); void mmsServer_handleDefineNamedVariableListRequest( - MmsServerConnection* connection, + MmsServerConnection connection, uint8_t* buffer, int bufPos, int maxBufPos, uint32_t invokeId, ByteBuffer* response); void mmsServer_handleGetNameListRequest( - MmsServerConnection* connection, + MmsServerConnection connection, uint8_t* buffer, int bufPos, int maxBufPos, uint32_t invokeId, ByteBuffer* response); void mmsServer_handleWriteRequest( - MmsServerConnection* connection, + MmsServerConnection connection, uint8_t* buffer, int bufPos, int maxBufPos, uint32_t invokeId, ByteBuffer* response); void mmsServer_handleIdentifyRequest( - MmsServerConnection* connection, + MmsServerConnection connection, int invokeId, ByteBuffer* response); void mmsServer_handleStatusRequest( - MmsServerConnection* connection, + MmsServerConnection connection, uint8_t* requestBuffer, int bufPos, int invokeId, @@ -182,42 +219,42 @@ mmsServer_handleStatusRequest( void mmsServer_handleFileDirectoryRequest( - MmsServerConnection* connection, + MmsServerConnection connection, uint8_t* buffer, int bufPos, int maxBufPos, uint32_t invokeId, ByteBuffer* response); void mmsServer_handleFileOpenRequest( - MmsServerConnection* connection, + MmsServerConnection connection, uint8_t* buffer, int bufPos, int maxBufPos, uint32_t invokeId, ByteBuffer* response); void mmsServer_handleFileDeleteRequest( - MmsServerConnection* connection, + MmsServerConnection connection, uint8_t* buffer, int bufPos, int maxBufPos, uint32_t invokeId, ByteBuffer* response); void mmsServer_handleFileRenameRequest( - MmsServerConnection* connection, + MmsServerConnection connection, uint8_t* buffer, int bufPos, int maxBufPos, uint32_t invokeId, ByteBuffer* response); void mmsServer_handleFileReadRequest( - MmsServerConnection* connection, + MmsServerConnection connection, uint8_t* buffer, int bufPos, int maxBufPos, uint32_t invokeId, ByteBuffer* response); void mmsServer_handleFileCloseRequest( - MmsServerConnection* connection, + MmsServerConnection connection, uint8_t* buffer, int bufPos, int maxBufPos, uint32_t invokeId, ByteBuffer* response); @@ -236,13 +273,13 @@ mmsServer_deleteVariableList(LinkedList namedVariableLists, char* variableListNa MmsDataAccessError mmsServer_setValue(MmsServer self, MmsDomain* domain, char* itemId, MmsValue* value, - MmsServerConnection* connection); + MmsServerConnection connection); MmsValue* -mmsServer_getValue(MmsServer self, MmsDomain* domain, char* itemId, MmsServerConnection* connection); +mmsServer_getValue(MmsServer self, MmsDomain* domain, char* itemId, MmsServerConnection connection); int -mmsServer_createMmsWriteResponse(MmsServerConnection* connection, +mmsServer_createMmsWriteResponse(MmsServerConnection connection, int invokeId, ByteBuffer* response, int numberOfItems, MmsDataAccessError* accessResults); void @@ -250,6 +287,6 @@ mmsServer_writeMmsRejectPdu(uint32_t* invokeId, int reason, ByteBuffer* response bool mmsServer_callVariableListChangedHandler(bool create, MmsVariableListType listType, MmsDomain* domain, - char* listName, MmsServerConnection* connection); + char* listName, MmsServerConnection connection); #endif /* MMS_SERVER_INTERNAL_H_ */ diff --git a/src/mms/iso_mms/server/mms_association_service.c b/src/mms/iso_mms/server/mms_association_service.c index 902d999..942f2d4 100644 --- a/src/mms/iso_mms/server/mms_association_service.c +++ b/src/mms/iso_mms/server/mms_association_service.c @@ -134,7 +134,7 @@ encodeInitResponseDetail(uint8_t* buffer, int bufPos, bool encode) static int -createInitiateResponse(MmsServerConnection* self, ByteBuffer* writeBuffer) +createInitiateResponse(MmsServerConnection self, ByteBuffer* writeBuffer) { uint8_t* buffer = writeBuffer->buffer; int bufPos = 0; @@ -167,7 +167,7 @@ createInitiateResponse(MmsServerConnection* self, ByteBuffer* writeBuffer) } static bool -parseInitiateRequestPdu(MmsServerConnection* self, uint8_t* buffer, int bufPos, int maxBufPos) +parseInitiateRequestPdu(MmsServerConnection self, uint8_t* buffer, int bufPos, int maxBufPos) { self->maxPduSize = CONFIG_MMS_MAXIMUM_PDU_SIZE; @@ -230,7 +230,7 @@ parseInitiateRequestPdu(MmsServerConnection* self, uint8_t* buffer, int bufPos, void mmsServer_handleInitiateRequest ( - MmsServerConnection* self, + MmsServerConnection self, uint8_t* buffer, int bufPos, int maxBufPos, ByteBuffer* response) { diff --git a/src/mms/iso_mms/server/mms_file_service.c b/src/mms/iso_mms/server/mms_file_service.c index ffaaae6..cf58a6d 100644 --- a/src/mms/iso_mms/server/mms_file_service.c +++ b/src/mms/iso_mms/server/mms_file_service.c @@ -53,7 +53,7 @@ createNullResponseExtendedTag(uint32_t invokeId, ByteBuffer* response, uint8_t t } static MmsFileReadStateMachine* -getFreeFrsm(MmsServerConnection* connection) +getFreeFrsm(MmsServerConnection connection) { int i; @@ -71,7 +71,7 @@ getFreeFrsm(MmsServerConnection* connection) static MmsFileReadStateMachine* -getFrsm(MmsServerConnection* connection, int32_t frsmId) +getFrsm(MmsServerConnection connection, int32_t frsmId) { int i; @@ -90,7 +90,7 @@ getFrsm(MmsServerConnection* connection, int32_t frsmId) } static int32_t -getNextFrsmId(MmsServerConnection* connection) +getNextFrsmId(MmsServerConnection connection) { uint32_t nextFrsmId = connection->nextFrsmId; connection->nextFrsmId++; @@ -195,7 +195,7 @@ parseFileName(char* filename, uint8_t* buffer, int* bufPos, int maxBufPos , uint void mmsServer_handleFileDeleteRequest( - MmsServerConnection* connection, + MmsServerConnection connection, uint8_t* buffer, int bufPos, int maxBufPos, uint32_t invokeId, ByteBuffer* response) @@ -240,7 +240,7 @@ exit_reject_invalid_pdu: void mmsServer_handleFileOpenRequest( - MmsServerConnection* connection, + MmsServerConnection connection, uint8_t* buffer, int bufPos, int maxBufPos, uint32_t invokeId, ByteBuffer* response) @@ -315,7 +315,7 @@ exit_reject_invalid_pdu: static void -createFileReadResponse(MmsServerConnection* connection, uint32_t invokeId, +createFileReadResponse(MmsServerConnection connection, uint32_t invokeId, ByteBuffer* response, MmsFileReadStateMachine* frsm) { /* determine remaining bytes in file */ @@ -372,7 +372,7 @@ createFileReadResponse(MmsServerConnection* connection, uint32_t invokeId, void mmsServer_handleFileReadRequest( - MmsServerConnection* connection, + MmsServerConnection connection, uint8_t* buffer, int bufPos, int maxBufPos, uint32_t invokeId, ByteBuffer* response) @@ -399,7 +399,7 @@ createFileCloseResponse(uint32_t invokeId, ByteBuffer* response) void mmsServer_handleFileCloseRequest( - MmsServerConnection* connection, + MmsServerConnection connection, uint8_t* buffer, int bufPos, int maxBufPos, uint32_t invokeId, ByteBuffer* response) @@ -582,7 +582,7 @@ createFileDirectoryResponse(uint32_t invokeId, ByteBuffer* response, char* direc void mmsServer_handleFileRenameRequest( - MmsServerConnection* connection, + MmsServerConnection connection, uint8_t* buffer, int bufPos, int maxBufPos, uint32_t invokeId, ByteBuffer* response) @@ -648,7 +648,7 @@ mmsServer_handleFileRenameRequest( void mmsServer_handleFileDirectoryRequest( - MmsServerConnection* connection, + MmsServerConnection connection, uint8_t* buffer, int bufPos, int maxBufPos, uint32_t invokeId, ByteBuffer* response) diff --git a/src/mms/iso_mms/server/mms_get_namelist_service.c b/src/mms/iso_mms/server/mms_get_namelist_service.c index 77c0bbb..476d8e0 100644 --- a/src/mms/iso_mms/server/mms_get_namelist_service.c +++ b/src/mms/iso_mms/server/mms_get_namelist_service.c @@ -41,7 +41,7 @@ #define OBJECT_SCOPE_ASSOCIATION 2 static LinkedList -getDomainNames(MmsServerConnection* connection) +getDomainNames(MmsServerConnection connection) { MmsDevice* device = MmsServer_getDevice(connection->server); @@ -59,7 +59,7 @@ getDomainNames(MmsServerConnection* connection) #if (CONFIG_MMS_SUPPORT_VMD_SCOPE_NAMED_VARIABLES == 1) static LinkedList -getNameListVMDSpecific(MmsServerConnection* connection) +getNameListVMDSpecific(MmsServerConnection connection) { MmsDevice* device = MmsServer_getDevice(connection->server); @@ -127,7 +127,7 @@ addSubNamedVaribleNamesToList(LinkedList nameList, char* prefix, MmsVariableSpec #endif /* (CONFIG_MMS_SUPPORT_FLATTED_NAME_SPACE == 1) */ static LinkedList -getNameListDomainSpecific(MmsServerConnection* connection, char* domainName) { +getNameListDomainSpecific(MmsServerConnection connection, char* domainName) { MmsDevice* device = MmsServer_getDevice(connection->server); LinkedList nameList = NULL; @@ -176,7 +176,7 @@ createStringsFromNamedVariableList(LinkedList nameList, LinkedList variableLists } static LinkedList -getNamedVariableListsDomainSpecific(MmsServerConnection* connection, char* domainName) +getNamedVariableListsDomainSpecific(MmsServerConnection connection, char* domainName) { MmsDevice* device = MmsServer_getDevice(connection->server); @@ -194,7 +194,7 @@ getNamedVariableListsDomainSpecific(MmsServerConnection* connection, char* domai } static LinkedList -getnamedVariableListsVMDSpecific(MmsServerConnection* connection) +getnamedVariableListsVMDSpecific(MmsServerConnection connection) { MmsDevice* device = MmsServer_getDevice(connection->server); @@ -209,7 +209,7 @@ getnamedVariableListsVMDSpecific(MmsServerConnection* connection) #if (MMS_DYNAMIC_DATA_SETS == 1) static LinkedList -getNamedVariableListAssociationSpecific(MmsServerConnection* connection) +getNamedVariableListAssociationSpecific(MmsServerConnection connection) { LinkedList nameList = NULL; @@ -225,7 +225,7 @@ getNamedVariableListAssociationSpecific(MmsServerConnection* connection) static void createNameListResponse( - MmsServerConnection* connection, + MmsServerConnection connection, int invokeId, LinkedList nameList, ByteBuffer* response, @@ -329,7 +329,7 @@ createNameListResponse( void mmsServer_handleGetNameListRequest( - MmsServerConnection* connection, + MmsServerConnection connection, uint8_t* buffer, int bufPos, int maxBufPos, uint32_t invokeId, ByteBuffer* response) diff --git a/src/mms/iso_mms/server/mms_get_var_access_service.c b/src/mms/iso_mms/server/mms_get_var_access_service.c index 22606c8..8177661 100644 --- a/src/mms/iso_mms/server/mms_get_var_access_service.c +++ b/src/mms/iso_mms/server/mms_get_var_access_service.c @@ -204,7 +204,7 @@ deleteVariableAccessAttributesResponse( static void createVariableAccessAttributesResponse( - MmsServerConnection* connection, + MmsServerConnection connection, char* domainId, char* nameId, int invokeId, @@ -281,7 +281,7 @@ exit_function: int mmsServer_handleGetVariableAccessAttributesRequest( - MmsServerConnection* connection, + MmsServerConnection connection, uint8_t* buffer, int bufPos, int maxBufPos, uint32_t invokeId, ByteBuffer* response) diff --git a/src/mms/iso_mms/server/mms_identify_service.c b/src/mms/iso_mms/server/mms_identify_service.c index 4b065e7..103fb83 100644 --- a/src/mms/iso_mms/server/mms_identify_service.c +++ b/src/mms/iso_mms/server/mms_identify_service.c @@ -27,7 +27,7 @@ void mmsServer_handleIdentifyRequest( - MmsServerConnection* connection, + MmsServerConnection connection, int invokeId, ByteBuffer* response) { diff --git a/src/mms/iso_mms/server/mms_information_report.c b/src/mms/iso_mms/server/mms_information_report.c index f247f16..41972b4 100644 --- a/src/mms/iso_mms/server/mms_information_report.c +++ b/src/mms/iso_mms/server/mms_information_report.c @@ -30,7 +30,7 @@ #include "ber_encoder.h" void -MmsServerConnection_sendInformationReportSingleVariableVMDSpecific(MmsServerConnection* self, +MmsServerConnection_sendInformationReportSingleVariableVMDSpecific(MmsServerConnection self, char* itemId, MmsValue* value, bool handlerMode) { uint32_t itemIdSize = strlen(itemId); @@ -79,7 +79,7 @@ MmsServerConnection_sendInformationReportSingleVariableVMDSpecific(MmsServerConn void MmsServerConnection_sendInformationReportListOfVariables( - MmsServerConnection* self, + MmsServerConnection self, LinkedList /* MmsVariableAccessSpecification */ variableAccessDeclarations, LinkedList /* MmsValue */ values, bool handlerMode @@ -201,7 +201,7 @@ MmsServerConnection_sendInformationReportListOfVariables( void /* send information report for a named variable list */ -MmsServerConnection_sendInformationReportVMDSpecific(MmsServerConnection* self, char* itemId, LinkedList values, +MmsServerConnection_sendInformationReportVMDSpecific(MmsServerConnection self, char* itemId, LinkedList values, bool handlerMode) { uint32_t variableAccessSpecSize = 0; diff --git a/src/mms/iso_mms/server/mms_named_variable_list_service.c b/src/mms/iso_mms/server/mms_named_variable_list_service.c index d1d1880..6aa7174 100644 --- a/src/mms/iso_mms/server/mms_named_variable_list_service.c +++ b/src/mms/iso_mms/server/mms_named_variable_list_service.c @@ -49,7 +49,7 @@ bool mmsServer_callVariableListChangedHandler(bool create, MmsVariableListType listType, MmsDomain* domain, - char* listName, MmsServerConnection* connection) + char* listName, MmsServerConnection connection) { MmsServer self = connection->server; @@ -96,7 +96,7 @@ createDeleteNamedVariableListResponse(uint32_t invokeId, ByteBuffer* response, } void -mmsServer_handleDeleteNamedVariableListRequest(MmsServerConnection* connection, +mmsServer_handleDeleteNamedVariableListRequest(MmsServerConnection connection, uint8_t* buffer, int bufPos, int maxBufPos, uint32_t invokeId, ByteBuffer* response) @@ -354,7 +354,7 @@ exit_function: void mmsServer_handleDefineNamedVariableListRequest( - MmsServerConnection* connection, + MmsServerConnection connection, uint8_t* buffer, int bufPos, int maxBufPos, uint32_t invokeId, ByteBuffer* response) @@ -556,7 +556,7 @@ createGetNamedVariableListAttributesResponse(int invokeId, ByteBuffer* response, void mmsServer_handleGetNamedVariableListAttributesRequest( - MmsServerConnection* connection, + MmsServerConnection connection, uint8_t* buffer, int bufPos, int maxBufPos, uint32_t invokeId, ByteBuffer* response) diff --git a/src/mms/iso_mms/server/mms_read_service.c b/src/mms/iso_mms/server/mms_read_service.c index 4aab9e6..f1339ff 100644 --- a/src/mms/iso_mms/server/mms_read_service.c +++ b/src/mms/iso_mms/server/mms_read_service.c @@ -46,7 +46,7 @@ typedef struct sVarAccessSpec { } VarAccessSpec; static MmsValue* -addNamedVariableValue(MmsVariableSpecification* namedVariable, MmsServerConnection* connection, +addNamedVariableValue(MmsVariableSpecification* namedVariable, MmsServerConnection connection, MmsDomain* domain, char* itemId) { MmsValue* value = NULL; @@ -97,7 +97,7 @@ addNamedVariableValue(MmsVariableSpecification* namedVariable, MmsServerConnecti static void addComplexValueToResultList(MmsVariableSpecification* namedVariable, - LinkedList typedValues, MmsServerConnection* connection, + LinkedList typedValues, MmsServerConnection connection, MmsDomain* domain, char* nameIdStr) { @@ -181,7 +181,7 @@ getComponentOfArrayElement(AlternateAccess_t* alternateAccess, MmsVariableSpecif } static void -alternateArrayAccess(MmsServerConnection* connection, +alternateArrayAccess(MmsServerConnection connection, AlternateAccess_t* alternateAccess, MmsDomain* domain, char* itemId, LinkedList values, MmsVariableSpecification* namedVariable) @@ -252,7 +252,7 @@ alternateArrayAccess(MmsServerConnection* connection, static void addNamedVariableToResultList(MmsVariableSpecification* namedVariable, MmsDomain* domain, char* nameIdStr, - LinkedList /**/ values, MmsServerConnection* connection, AlternateAccess_t* alternateAccess) + LinkedList /**/ values, MmsServerConnection connection, AlternateAccess_t* alternateAccess) { if (namedVariable != NULL) { @@ -371,7 +371,7 @@ encodeVariableAccessSpecification(VarAccessSpec* accessSpec, uint8_t* buffer, in } static void -encodeReadResponse(MmsServerConnection* connection, +encodeReadResponse(MmsServerConnection connection, uint32_t invokeId, ByteBuffer* response, LinkedList values, VarAccessSpec* accessSpec) { @@ -469,7 +469,7 @@ encodeReadResponse(MmsServerConnection* connection, static void handleReadListOfVariablesRequest( - MmsServerConnection* connection, + MmsServerConnection connection, ReadRequest_t* read, uint32_t invokeId, ByteBuffer* response) @@ -568,7 +568,7 @@ exit: #if (MMS_DATA_SET_SERVICE == 1) static void -createNamedVariableListResponse(MmsServerConnection* connection, MmsNamedVariableList namedList, +createNamedVariableListResponse(MmsServerConnection connection, MmsNamedVariableList namedList, int invokeId, ByteBuffer* response, ReadRequest_t* read, VarAccessSpec* accessSpec) { @@ -607,7 +607,7 @@ createNamedVariableListResponse(MmsServerConnection* connection, MmsNamedVariabl static void handleReadNamedVariableListRequest( - MmsServerConnection* connection, + MmsServerConnection connection, ReadRequest_t* read, int invokeId, ByteBuffer* response) @@ -682,7 +682,7 @@ handleReadNamedVariableListRequest( void mmsServer_handleReadRequest( - MmsServerConnection* connection, + MmsServerConnection connection, uint8_t* buffer, int bufPos, int maxBufPos, uint32_t invokeId, ByteBuffer* response) diff --git a/src/mms/iso_mms/server/mms_server.c b/src/mms/iso_mms/server/mms_server.c index 76ab58f..44f1992 100644 --- a/src/mms/iso_mms/server/mms_server.c +++ b/src/mms/iso_mms/server/mms_server.c @@ -129,7 +129,7 @@ MmsServer_setClientAuthenticator(MmsServer self, AcseAuthenticator authenticator static void closeConnection(void* con) { - MmsServerConnection* connection = (MmsServerConnection*) con; + MmsServerConnection connection = (MmsServerConnection) con; MmsServerConnection_destroy(connection); } @@ -176,7 +176,7 @@ MmsServer_insertIntoCache(MmsServer self, MmsDomain* domain, char* itemId, MmsVa MmsDataAccessError mmsServer_setValue(MmsServer self, MmsDomain* domain, char* itemId, MmsValue* value, - MmsServerConnection* connection) + MmsServerConnection connection) { MmsDataAccessError indication; @@ -203,7 +203,7 @@ mmsServer_setValue(MmsServer self, MmsDomain* domain, char* itemId, MmsValue* va MmsValue* -mmsServer_getValue(MmsServer self, MmsDomain* domain, char* itemId, MmsServerConnection* connection) +mmsServer_getValue(MmsServer self, MmsDomain* domain, char* itemId, MmsServerConnection connection) { MmsValue* value = NULL; @@ -249,7 +249,7 @@ isoConnectionIndicationHandler(IsoConnectionIndication indication, MmsServer mmsServer = (MmsServer) parameter; if (indication == ISO_CONNECTION_OPENED) { - MmsServerConnection* mmsCon = MmsServerConnection_init(0, mmsServer, connection); + MmsServerConnection mmsCon = MmsServerConnection_init(0, mmsServer, connection); Map_addEntry(mmsServer->openConnections, connection, mmsCon); @@ -258,7 +258,7 @@ isoConnectionIndicationHandler(IsoConnectionIndication indication, mmsCon, MMS_SERVER_NEW_CONNECTION); } else if (indication == ISO_CONNECTION_CLOSED) { - MmsServerConnection* mmsCon = (MmsServerConnection*) + MmsServerConnection mmsCon = (MmsServerConnection) Map_removeEntry(mmsServer->openConnections, connection, false); if (mmsServer->connectionHandler != NULL) diff --git a/src/mms/iso_mms/server/mms_server_connection.c b/src/mms/iso_mms/server/mms_server_connection.c index 0923b4e..0e7e68f 100644 --- a/src/mms/iso_mms/server/mms_server_connection.c +++ b/src/mms/iso_mms/server/mms_server_connection.c @@ -79,7 +79,7 @@ mmsServer_writeMmsRejectPdu(uint32_t* invokeId, int reason, ByteBuffer* response static void handleConfirmedRequestPdu( - MmsServerConnection* self, + MmsServerConnection self, uint8_t* buffer, int bufPos, int maxBufPos, ByteBuffer* response) { @@ -225,7 +225,7 @@ handleConfirmedRequestPdu( } MmsIndication -MmsServerConnection_parseMessage(MmsServerConnection* self, ByteBuffer* message, ByteBuffer* response) +MmsServerConnection_parseMessage(MmsServerConnection self, ByteBuffer* message, ByteBuffer* response) { MmsIndication retVal; @@ -276,7 +276,7 @@ MmsServerConnection_parseMessage(MmsServerConnection* self, ByteBuffer* message, static void /* will be called by IsoConnection */ messageReceived(void* parameter, ByteBuffer* message, ByteBuffer* response) { - MmsServerConnection* self = (MmsServerConnection*) parameter; + MmsServerConnection self = (MmsServerConnection) parameter; MmsServerConnection_parseMessage(self, message, response); } @@ -285,13 +285,13 @@ messageReceived(void* parameter, ByteBuffer* message, ByteBuffer* response) * MMS server connection public API functions *********************************************************************************************/ -MmsServerConnection* -MmsServerConnection_init(MmsServerConnection* connection, MmsServer server, IsoConnection isoCon) +MmsServerConnection +MmsServerConnection_init(MmsServerConnection connection, MmsServer server, IsoConnection isoCon) { - MmsServerConnection* self; + MmsServerConnection self; if (connection == NULL) - self = (MmsServerConnection*) GLOBAL_CALLOC(1, sizeof(MmsServerConnection)); + self = (MmsServerConnection) GLOBAL_CALLOC(1, sizeof(struct sMmsServerConnection)); else self = connection; @@ -312,7 +312,7 @@ MmsServerConnection_init(MmsServerConnection* connection, MmsServer server, IsoC } void -MmsServerConnection_destroy(MmsServerConnection* self) +MmsServerConnection_destroy(MmsServerConnection self) { #if (MMS_FILE_SERVICE == 1) @@ -332,7 +332,7 @@ MmsServerConnection_destroy(MmsServerConnection* self) #if (MMS_DYNAMIC_DATA_SETS == 1) bool -MmsServerConnection_addNamedVariableList(MmsServerConnection* self, MmsNamedVariableList variableList) +MmsServerConnection_addNamedVariableList(MmsServerConnection self, MmsNamedVariableList variableList) { //TODO check if operation is allowed! @@ -342,13 +342,13 @@ MmsServerConnection_addNamedVariableList(MmsServerConnection* self, MmsNamedVari } void -MmsServerConnection_deleteNamedVariableList(MmsServerConnection* self, char* listName) +MmsServerConnection_deleteNamedVariableList(MmsServerConnection self, char* listName) { mmsServer_deleteVariableList(self->namedVariableLists, listName); } MmsNamedVariableList -MmsServerConnection_getNamedVariableList(MmsServerConnection* self, char* variableListName) +MmsServerConnection_getNamedVariableList(MmsServerConnection self, char* variableListName) { //TODO remove code duplication - similar to MmsDomain_getNamedVariableList ! MmsNamedVariableList variableList = NULL; @@ -372,21 +372,27 @@ MmsServerConnection_getNamedVariableList(MmsServerConnection* self, char* variab char* -MmsServerConnection_getClientAddress(MmsServerConnection* self) +MmsServerConnection_getClientAddress(MmsServerConnection self) { return IsoConnection_getPeerAddress(self->isoConnection); } +IsoConnection +MmsServerConnection_getIsoConnection(MmsServerConnection self) +{ + return self->isoConnection; +} + #if (MMS_DYNAMIC_DATA_SETS == 1) LinkedList -MmsServerConnection_getNamedVariableLists(MmsServerConnection* self) +MmsServerConnection_getNamedVariableLists(MmsServerConnection self) { return self->namedVariableLists; } #endif /* (MMS_DYNAMIC_DATA_SETS == 1) */ uint32_t -MmsServerConnection_getLastInvokeId(MmsServerConnection* self) +MmsServerConnection_getLastInvokeId(MmsServerConnection self) { return self->lastInvokeId; } diff --git a/src/mms/iso_mms/server/mms_status_service.c b/src/mms/iso_mms/server/mms_status_service.c index 4ae2212..4aecb74 100644 --- a/src/mms/iso_mms/server/mms_status_service.c +++ b/src/mms/iso_mms/server/mms_status_service.c @@ -27,7 +27,7 @@ void mmsServer_handleStatusRequest( - MmsServerConnection* connection, + MmsServerConnection connection, uint8_t* requestBuffer, int bufPos, int invokeId, diff --git a/src/mms/iso_mms/server/mms_write_service.c b/src/mms/iso_mms/server/mms_write_service.c index afd531a..90066ae 100644 --- a/src/mms/iso_mms/server/mms_write_service.c +++ b/src/mms/iso_mms/server/mms_write_service.c @@ -34,7 +34,7 @@ *********************************************************************************************/ int -mmsServer_createMmsWriteResponse(MmsServerConnection* connection, +mmsServer_createMmsWriteResponse(MmsServerConnection connection, int invokeId, ByteBuffer* response, int numberOfItems, MmsDataAccessError* accessResults) { MmsPdu_t* mmsPdu = mmsServer_createConfirmedResponse(invokeId); @@ -72,7 +72,7 @@ mmsServer_createMmsWriteResponse(MmsServerConnection* connection, void -MmsServerConnection_sendWriteResponse(MmsServerConnection* self, uint32_t invokeId, MmsDataAccessError indication, bool handlerMode) +MmsServerConnection_sendWriteResponse(MmsServerConnection self, uint32_t invokeId, MmsDataAccessError indication, bool handlerMode) { ByteBuffer* response = ByteBuffer_create(NULL, self->maxPduSize); @@ -85,7 +85,7 @@ MmsServerConnection_sendWriteResponse(MmsServerConnection* self, uint32_t invoke void mmsServer_handleWriteRequest( - MmsServerConnection* connection, + MmsServerConnection connection, uint8_t* buffer, int bufPos, int maxBufPos, uint32_t invokeId, ByteBuffer* response)