Просмотр исходного кода

Cleanup: CipServiceFunction type gets a const originator_address parameter

Changes the call signature for all functions of type CipServiceFunction.

Signed-off-by: Stefan Mätje <stefan.maetje@esd.eu>
Stefan Mätje 6 лет назад
Родитель
Сommit
8d8939aff8

+ 2 - 2
source/src/cip/cipassembly.c

@@ -21,7 +21,7 @@
 EipStatus SetAssemblyAttributeSingle(CipInstance *const instance,
                                      CipMessageRouterRequest *const message_router_request,
                                      CipMessageRouterResponse *const message_router_response,
-                                     struct sockaddr *originator_address,
+                                     const struct sockaddr *originator_address,
                                      const int encapsulation_session);
 
 /** @brief Constructor for the assembly object class
@@ -137,7 +137,7 @@ EipStatus NotifyAssemblyConnectedDataReceived(CipInstance *const instance,
 EipStatus SetAssemblyAttributeSingle(CipInstance *const instance,
                                      CipMessageRouterRequest *const message_router_request,
                                      CipMessageRouterResponse *const message_router_response,
-                                     struct sockaddr *originator_address,
+                                     const struct sockaddr *originator_address,
                                      const int encapsulation_session) {
   OPENER_TRACE_INFO(" setAttribute %d\n",
                     message_router_request->request_path.attribute_number);

+ 3 - 3
source/src/cip/cipcommon.c

@@ -75,7 +75,7 @@ void ShutdownCipStack(void) {
 EipStatus NotifyClass(const CipClass *RESTRICT const cip_class,
                       CipMessageRouterRequest *const message_router_request,
                       CipMessageRouterResponse *const message_router_response,
-                      struct sockaddr *originator_address,
+                      const struct sockaddr *originator_address,
                       const int encapsulation_session) {
 
   /* find the instance: if instNr==0, the class is addressed, else find the instance */
@@ -404,7 +404,7 @@ CipAttributeStruct *GetCipAttribute(const CipInstance *const instance,
 EipStatus GetAttributeSingle(CipInstance *RESTRICT const instance,
                              CipMessageRouterRequest *const message_router_request,
                              CipMessageRouterResponse *const message_router_response,
-                             struct sockaddr *originator_address,
+                             const struct sockaddr *originator_address,
                              const int encapsulation_session) {
   /* Mask for filtering get-ability */
 
@@ -718,7 +718,7 @@ CipServiceStruct *GetCipService(const CipInstance *const instance,
 EipStatus GetAttributeAll(CipInstance *instance,
                           CipMessageRouterRequest *message_router_request,
                           CipMessageRouterResponse *message_router_response,
-                          struct sockaddr *originator_address,
+                          const struct sockaddr *originator_address,
                           const int encapsulation_session) {
 
   EipUint8 *reply = message_router_response->data;       /* pointer into the reply */

+ 3 - 3
source/src/cip/cipcommon.h

@@ -38,7 +38,7 @@ static const EipUint16 kCipUintZero = 0; /**< Zero value for returning the UINT
 EipStatus NotifyClass(const CipClass *const RESTRICT cip_class,
                       CipMessageRouterRequest *const message_router_request,
                       CipMessageRouterResponse *const message_router_response,
-                      struct sockaddr *originator_address,
+                      const struct sockaddr *originator_address,
                       const int encapsulation_session);
 
 /** @brief Generic implementation of the GetAttributeSingle CIP service
@@ -59,7 +59,7 @@ EipStatus GetAttributeSingle(
   message_router_request,
   CipMessageRouterResponse *const
   message_router_response,
-  struct sockaddr *originator_address,
+  const struct sockaddr *originator_address,
   const int encapsulation_session);
 
 /** @brief Generic implementation of the GetAttributeAll CIP service
@@ -76,7 +76,7 @@ EipStatus GetAttributeSingle(
 EipStatus GetAttributeAll(CipInstance *instance,
                           CipMessageRouterRequest *message_router_request,
                           CipMessageRouterResponse *message_router_response,
-                          struct sockaddr *originator_address,
+                          const struct sockaddr *originator_address,
                           const int encapsulation_session);
 
 /** @brief Decodes padded EPath

+ 6 - 6
source/src/cip/cipconnectionmanager.c

@@ -65,21 +65,21 @@ EipStatus ForwardOpen(
   CipInstance *instance,
   CipMessageRouterRequest *message_router_request,
   CipMessageRouterResponse *message_router_response,
-  struct sockaddr *originator_address,
+  const struct sockaddr *originator_address,
   const int encapsulation_session);
 
 EipStatus ForwardClose(
   CipInstance *instance,
   CipMessageRouterRequest *message_router_request,
   CipMessageRouterResponse *message_router_response,
-  struct sockaddr *originator_address,
+  const struct sockaddr *originator_address,
   const int encapsulation_session);
 
 EipStatus GetConnectionOwner(
   CipInstance *instance,
   CipMessageRouterRequest *message_router_request,
   CipMessageRouterResponse *message_router_response,
-  struct sockaddr *originator_address,
+  const struct sockaddr *originator_address,
   const int encapsulation_session);
 
 EipStatus AssembleForwardOpenResponse(
@@ -492,7 +492,7 @@ EipStatus ForwardOpen(
   CipInstance *instance,
   CipMessageRouterRequest *message_router_request,
   CipMessageRouterResponse *message_router_response,
-  struct sockaddr *originator_address,
+  const struct sockaddr *originator_address,
   const int encapsulation_session
   ) {
   (void) instance; /*suppress compiler warning */
@@ -560,7 +560,7 @@ EipStatus ForwardClose(
   CipInstance *instance,
   CipMessageRouterRequest *message_router_request,
   CipMessageRouterResponse *message_router_response,
-  struct sockaddr *originator_address,
+  const struct sockaddr *originator_address,
   const int encapsulation_session) {
   /*Suppress compiler warning*/
   (void) instance;
@@ -636,7 +636,7 @@ EipStatus GetConnectionOwner(
   CipInstance *instance,
   CipMessageRouterRequest *message_router_request,
   CipMessageRouterResponse *message_router_response,
-  struct sockaddr *originator_address,
+  const struct sockaddr *originator_address,
   const int encapsulation_session) {
   /* suppress compiler warnings */
   (void) instance;

+ 2 - 2
source/src/cip/cipethernetlink.c

@@ -38,7 +38,7 @@ EipStatus GetAttributeSingleEthernetLink(
   CipInstance *RESTRICT const instance,
   CipMessageRouterRequest *const message_router_request,
   CipMessageRouterResponse *const message_router_response,
-  struct sockaddr *originator_address,
+  const struct sockaddr *originator_address,
   const int encapsulation_session);
 
 /** @brief Configures the MAC address of the Ethernet Link object*
@@ -177,7 +177,7 @@ EipStatus GetAttributeSingleEthernetLink(
   CipInstance *RESTRICT const instance,
   CipMessageRouterRequest *const message_router_request,
   CipMessageRouterResponse *const message_router_response,
-  struct sockaddr *originator_address,
+  const struct sockaddr *originator_address,
   const int encapsulation_session) {
   /* Mask for filtering get-ability */
 

+ 0 - 7
source/src/cip/cipethernetlink.h

@@ -26,13 +26,6 @@ int EncodeInterfaceControl(EipUint8 **pa_acMsg);
 
 int EncodeInterfaceCapability(EipUint8 **pa_acMsg);
 
-EipStatus GetAttributeSingleEthernetLink(
-  CipInstance *RESTRICT const instance,
-  CipMessageRouterRequest *const message_router_request,
-  CipMessageRouterResponse *const message_router_response,
-  struct sockaddr *originator_address,
-  const int encapsulation_session);
-
 /** @brief Data of an CIP Ethernet Link object */
 typedef struct {
   EipUint32 interface_speed; /**< 10/100/1000 Mbit/sec */

+ 1 - 1
source/src/cip/cipidentity.c

@@ -74,7 +74,7 @@ static EipStatus Reset(CipInstance *instance,
                        CipMessageRouterRequest *message_router_request,
                        /* pointer to message router request*/
                        CipMessageRouterResponse *message_router_response,  /* pointer to message router response*/
-                       struct sockaddr *originator_address,
+                       const struct sockaddr *originator_address,
                        const int encapsulation_session) {
   (void) instance;
 

+ 2 - 2
source/src/cip/cipqos.c

@@ -30,7 +30,7 @@ EipStatus GetAttributeSingleQoS(
   CipInstance *const RESTRICT instance,
   CipMessageRouterRequest *RESTRICT const message_router_request,
   CipMessageRouterResponse *RESTRICT const message_router_response,
-  struct sockaddr *originator_address,
+  const struct sockaddr *originator_address,
   const int encapsulation_session) {
 
   return GetAttributeSingle(instance, message_router_request,
@@ -42,7 +42,7 @@ EipStatus SetAttributeSingleQoS(
   CipInstance *instance,
   CipMessageRouterRequest *message_router_request,
   CipMessageRouterResponse *message_router_response,
-  struct sockaddr *originator_address,
+  const struct sockaddr *originator_address,
   const int encapsulation_session) {
 
   CipAttributeStruct *attribute = GetCipAttribute(

+ 5 - 5
source/src/cip/ciptcpipinterface.c

@@ -67,21 +67,21 @@ EipStatus GetAttributeSingleTcpIpInterface(
   CipInstance *const RESTRICT instance,
   CipMessageRouterRequest *const RESTRICT message_router_request,
   CipMessageRouterResponse *const RESTRICT message_router_response,
-  struct sockaddr *originator_address,
+  const struct sockaddr *originator_address,
   const int encapsulation_session);
 
 EipStatus GetAttributeAllTcpIpInterface(
   CipInstance *instance,
   CipMessageRouterRequest *message_router_request,
   CipMessageRouterResponse *message_router_response,
-  struct sockaddr *originator_address,
+  const struct sockaddr *originator_address,
   const int encapsulation_session);
 
 EipStatus SetAttributeSingleTcp(
   CipInstance *instance,
   CipMessageRouterRequest *message_router_request,
   CipMessageRouterResponse *message_router_response,
-  struct sockaddr *originator_address,
+  const struct sockaddr *originator_address,
   const int encapsulation_session) {
   CipAttributeStruct *attribute = GetCipAttribute(
     instance, message_router_request->request_path.attribute_number);
@@ -229,7 +229,7 @@ EipStatus GetAttributeSingleTcpIpInterface(
   CipInstance *const RESTRICT instance,
   CipMessageRouterRequest *const RESTRICT message_router_request,
   CipMessageRouterResponse *const RESTRICT message_router_response,
-  struct sockaddr *originator_address,
+  const struct sockaddr *originator_address,
   const int encapsulation_session) {
 
   EipUint16 attribute_number = message_router_request->request_path
@@ -293,7 +293,7 @@ EipStatus GetAttributeAllTcpIpInterface(
   CipInstance *instance,
   CipMessageRouterRequest *message_router_request,
   CipMessageRouterResponse *message_router_response,
-  struct sockaddr *originator_address,
+  const struct sockaddr *originator_address,
   const int encapsulation_session) {
 
   EipUint8 *response = message_router_response->data; /* pointer into the reply */

+ 4 - 2
source/src/cip/ciptypes.h

@@ -259,7 +259,7 @@ typedef struct cip_class {
  *  @typedef  EipStatus (*CipServiceFunction)(CipInstance *const instance,
  *    CipMessageRouterRequest *const message_router_request,
  *    CipMessageRouterResponse *const message_router_response,
- *    struct sockaddr *originator_address, const int encapsulation_session)
+ *    const struct sockaddr *originator_address, const int encapsulation_session)
  *  @brief Signature definition for the implementation of CIP services.
  *
  *  CIP services have to follow this signature in order to be handled correctly
@@ -269,6 +269,8 @@ typedef struct cip_class {
  *  @param message_router_request request data
  *  @param message_router_response storage for the response data, including a buffer for
  *   extended data
+ *  @param originator_address  address of the originator as received from socket
+ *  @param encapsulation_session associated encapsulation session of the explicit message
  *  @return kEipOkSend if service could be executed successfully and a response
  *   should be sent
  */
@@ -276,7 +278,7 @@ typedef EipStatus (*CipServiceFunction)(
   CipInstance *const instance,
   CipMessageRouterRequest *const message_router_request,
   CipMessageRouterResponse *const message_router_response,
-  struct sockaddr *originator_address,
+  const struct sockaddr *originator_address,
   const int encapsulation_session);
 
 /** @brief Service descriptor. These are stored in an array */