OpENer - Open Source EtherNet/IP(TM) I/O Target Stack
2.1
|
#include <assert.h>
#include <stdbool.h>
#include "typedefs.h"
#include "ciptypes.h"
#include "ciperror.h"
#include "opener_user_conf.h"
Go to the source code of this file.
Typedefs | |
typedef struct cip_connection_object | CipConnectionObject |
typedef void(* | ConnectionCloseFunction )(CipConnectionObject *connection_object) |
Function prototype for handling the closing of connections. More... | |
typedef EipStatus(* | ConnectionReceiveDataFunction )(CipConnectionObject *connection_object, const EipUint8 *data, const EipUint16 data_length) |
Function prototype for receiving data via a connection. More... | |
typedef EipStatus(* | ConnectionSendDataFunction )(CipConnectionObject *connection_object) |
Function prototype for sending data via a connection. More... | |
typedef void(* | ConnectionTimeoutFunction )(CipConnectionObject *connection_object) |
Function prototype for handling the timeout of connections. More... | |
typedef void(* | InitializeCipClass )(CipClass *) |
typedef EipStatus(* | OpenConnectionFunction )(CipConnectionObject *RESTRICT const connection_object, EipUint16 *const extended_error_code) |
Function prototype for handling the opening of connections. More... | |
Functions | |
CipInstance * | AddCIPInstance (CipClass *RESTRICT const cip_class_to_add_instance, const EipUint32 instance_id) |
Create one instance of a given class with a certain instance number. More... | |
CipInstance * | AddCipInstances (CipClass *RESTRICT const cip_object_to_add_instances, const int number_of_instances) |
Add a number of CIP instances to a given CIP class. More... | |
EipStatus | AddConnectableObject (const EipUint32 class_id, OpenConnectionFunction open_connection_function) |
register open functions for an specific object. More... | |
EipStatus | AfterAssemblyDataReceived (CipInstance *instance) |
Call back function to inform application on received data for an assembly object. More... | |
void | AllocateAttributeMasks (CipClass *target_class) |
Allocates Attribute bitmasks. More... | |
EipStatus | ApplicationInitialization (void) |
Callback for the application initialization. More... | |
EipBool8 | BeforeAssemblyDataSend (CipInstance *instance) |
Inform the application that the data of an assembly object will be sent. More... | |
size_t | CalculateIndex (EipUint16 attribute_number) |
Calculates Byte-Index of Attribute. More... | |
void | CheckIoConnectionEvent (unsigned int output_assembly_id, unsigned int input_assembly_id, IoConnectionEvent io_connection_event) |
Inform the application on changes occurred for a connection. More... | |
void * | CipCalloc (size_t number_of_elements, size_t size_of_element) |
Allocate memory for the CIP stack. More... | |
void | CipFree (void *data) |
Free memory allocated by the OpENer. More... | |
void | CipStackInit (const EipUint16 unique_connection_id) |
Initialize and setup the CIP-stack. More... | |
void | CloseSession (int socket_handle) |
Inform the encapsulation layer that the remote host has closed the connection. More... | |
void | CloseSocket (const int socket_handle) |
Close the given socket and clean up the stack. More... | |
void | ConfigureDomainName (void) |
Configure the domain name of the device. More... | |
void | ConfigureExclusiveOwnerConnectionPoint (const unsigned int connection_number, const unsigned int output_assembly_id, const unsigned int input_assembly_id, const unsigned int configuration_assembly_id) |
Configures the connection point for an exclusive owner connection. More... | |
void | ConfigureHostName (void) |
Configure the host name of the device. More... | |
void | ConfigureInputOnlyConnectionPoint (const unsigned int connection_number, const unsigned int output_assembly_id, const unsigned int input_assembly_id, const unsigned int configuration_assembly_id) |
Configures the connection point for an input only connection. More... | |
void | ConfigureListenOnlyConnectionPoint (const unsigned int connection_number, const unsigned int output_assembly_id, const unsigned int input_assembly_id, const unsigned int configuration_assembly_id) |
Configures the connection point for a listen only connection. More... | |
void | ConfigureMacAddress (const char *network_interface) |
Configure the MAC address of the device. More... | |
EipStatus | ConfigureNetworkInterface (const char *const network_interface) |
Configure the data of the network interface of the device. More... | |
CipInstance * | CreateAssemblyObject (const EipUint32 instance_number, EipByte *const data, const EipUint16 data_length) |
Create an instance of an assembly object. More... | |
CipClass * | CreateCipClass (const EipUint32 class_id, const int number_of_class_attributes, const EipUint32 highest_class_attribute_number, const int number_of_class_services, const int number_of_instance_attributes, const EipUint32 highest_instance_attribute_number, const int number_of_instance_services, const int number_of_instances, char *name, const EipUint16 revision, InitializeCipClass initializer) |
Allocate memory for new CIP Class and attributes. More... | |
int | CreateUdpSocket (UdpCommuncationDirection communication_direction, struct sockaddr_in *socket_data, CipUsint qos_for_socket) |
create a producing or consuming UDP socket More... | |
int | DecodeData (const EipUint8 cip_data_type, void *const cip_data, const EipUint8 **const cip_message) |
Retrieve the given data according to CIP encoding from the message buffer. More... | |
int | EncodeData (const EipUint8 cip_data_type, const void *const cip_data, EipUint8 **cip_message) |
Produce the data according to CIP encoding onto the message buffer. More... | |
CipAttributeStruct * | GetCipAttribute (const CipInstance *const cip_instance, const EipUint16 attribute_number) |
Get a pointer to an instance's attribute. More... | |
CipClass * | GetCipClass (const EipUint32 class_id) |
Get a pointer to a CIP object with given class code. More... | |
CipInstance * | GetCipInstance (const CipClass *RESTRICT const cip_object, const EipUint32 instance_number) |
Get a pointer to an instance. More... | |
void | HandleApplication (void) |
Allow the device specific application to perform its execution. More... | |
EipStatus | HandleReceivedConnectedData (const EipUint8 *const received_data, int received_data_length, struct sockaddr_in *from_address) |
Notify the connection manager that data for a connection has been received. More... | |
int | HandleReceivedExplictTcpData (int socket_handle, EipUint8 *buffer, size_t length, int *number_of_remaining_bytes, struct sockaddr *originator_address, ENIPMessage *const outgoing_message) |
Notify the encapsulation layer that an explicit message has been received via TCP. More... | |
int | HandleReceivedExplictUdpData (const int socket_handle, const struct sockaddr_in *from_address, const EipUint8 *buffer, const size_t buffer_length, int *number_of_remaining_bytes, bool unicast, ENIPMessage *const outgoing_message) |
Notify the encapsulation layer that an explicit message has been received via UDP. More... | |
void | InsertAttribute (CipInstance *const cip_instance, const EipUint16 attribute_number, const EipUint8 cip_data_type, void *const cip_data, const EipByte cip_flags) |
Insert an attribute in an instance of a CIP class. More... | |
void | InsertService (const CipClass *const cip_class_to_add_service, const EipUint8 service_code, const CipServiceFunction service_function, char *const service_name) |
Insert a service in an instance of a CIP object. More... | |
EipStatus | ManageConnections (MilliSeconds elapsed_time) |
Check if any of the connection timers (TransmissionTrigger or WatchdogTimeout) have timed out. More... | |
EipStatus | ResetDevice (void) |
Emulate as close a possible a power cycle of the device. More... | |
EipStatus | ResetDeviceToInitialConfiguration (void) |
Reset the device to the initial configuration and emulate as close as possible a power cycle of the device. More... | |
void | RunIdleChanged (EipUint32 run_idle_value) |
Inform the application that the Run/Idle State has been changed by the originator. More... | |
EipStatus | SendUdpData (struct sockaddr_in *socket_data, int socket_handle, EipUint8 *data, EipUint16 data_length) |
Create a producing or consuming UDP socket. More... | |
void | SetDeviceSerialNumber (const EipUint32 serial_number) |
Set the serial number of the device's identity object. More... | |
void | SetDeviceStatus (const EipUint16 device_status) |
Set the current status of the device. More... | |
void | ShutdownCipStack (void) |
Shutdown of the CIP stack. More... | |
EipStatus | TriggerConnections (unsigned int output_assembly_id, unsigned int input_assembly_id) |
Trigger the production of an application triggered connection. More... | |
typedef struct cip_connection_object CipConnectionObject |
Definition at line 299 of file opener_api.h.
typedef void(* InitializeCipClass)(CipClass *) |
Initializer function for CIP class initialization
Definition at line 122 of file opener_api.h.