| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- /*******************************************************************************
- * Copyright (c) 2011, Rockwell Automation, Inc.
- * All rights reserved.
- *
- ******************************************************************************/
- /**
- * @file cipioconnection.h
- * CIP I/O Connection implementation
- * =================================
- *
- *
- * I/O Connection Object State Transition Diagram
- * ----------------------------------------------
- * @dot
- * digraph IOConnectionObjectStateTransition {
- * A[label="Any State"]
- * N[label="Non-existent"]
- * C[label="Configuring"]
- * E[label="Established"]
- * W[label="Waiting for Connection ID"]
- * T[label="Timed Out"]
- *
- * A->N [label="Delete"]
- * N->C [label="Create"]
- * C->C [label="Get/Set/Apply Attribute"]
- * C->W [label="Apply Attribute"]
- * W->W [label="Get/Set Attribute"]
- * C->E [label="Apply Attribute"]
- * E->E [label="Get/Set/Apply Attribute, Reset, Message Produced/Consumed"]
- * W->E [label="Apply Attribute"]
- * E->T [label="Inactivity/Watchdog"]
- * T->E [label="Reset"]
- * T->N [label="Delete"]
- * }
- * @enddot
- *
- */
- #ifndef OPENER_CIPIOCONNECTION_H_
- #define OPENER_CIPIOCONNECTION_H_
- #include "opener_api.h"
- #include "cipconnectionmanager.h"
- #include "cipconnectionobject.h"
- /** @brief Setup all data in order to establish an IO connection
- *
- * This function can be called after all data has been parsed from the forward open request
- * @param connection_object pointer to the connection object structure holding the parsed data from the forward open request
- * @param extended_error the extended error code in case an error happened
- * @return general status on the establishment
- * - EIP_OK ... on success
- * - On an error the general status code to be put into the response
- */
- CipError EstablishIoConnection(
- CipConnectionObject *RESTRICT const connection_object,
- EipUint16 *const extended_error);
- /** @brief Take the data given in the connection object structure and open the necessary communication channels
- *
- * This function will use the g_stCPFDataItem!
- * @param connection_object pointer to the connection object data
- * @return general status on the open process
- * - EIP_OK ... on success
- * - On an error the general status code to be put into the response
- */
- CipError OpenCommunicationChannels(CipConnectionObject *connection_object);
- /** @brief close the communication channels of the given connection and remove it
- * from the active connections list.
- *
- * @param connection_object pointer to the connection object data
- */
- void CloseCommunicationChannelsAndRemoveFromActiveConnectionsList(
- CipConnectionObject *connection_object);
- extern EipUint8 *g_config_data_buffer;
- extern unsigned int g_config_data_length;
- #endif /* OPENER_CIPIOCONNECTION_H_ */
|