31 #include "opener_user_conf.h" 
   77                        struct sockaddr *originator_address,
 
   78                        const int encapsulation_session) {
 
   84                                             | message_router_request->
service);
 
   89     switch (message_router_request->
data[0]) {
 
  129                    (
void *) &class->revision,
 
  143                    (
void *) &class->highest_attribute_number,
 
  178                 "GetAttributeSingle");
 
void InsertAttribute(CipInstance *const instance, const EipUint16 attribute_number, const EipUint8 cip_type, void *const data, const EipByte cip_flags)
Insert an attribute in an instance of a CIP class. 
Tracing infrastructure for OpENer. 
#define OPENER_DEVICE_VENDOR_ID
void SetDeviceSerialNumber(const EipUint32 serial_number)
Set the serial number of the device's identity object. 
CIP Message Router Request. 
Class is a subclass of Instance. 
Responsible for Endianess conversion. 
CipIdentityExtendedStatus
#define OPENER_DEVICE_TYPE
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, void(*InitializeCipClass)(CipClass *))
#define OPENER_DEVICE_MAJOR_REVISION
EipStatus
EIP stack status enum. 
void InsertService(const CipClass *const class, const EipUint8 service_number, const CipServiceFunction service_function, char *const service_name)
Insert a service in an instance of a CIP object. 
CipInstance class_instance
EipStatus ResetDevice(void)
Emulate as close a possible a power cycle of the device. 
EipStatus GetAttributeAll(CipInstance *instance, CipMessageRouterRequest *message_router_request, CipMessageRouterResponse *message_router_response, struct sockaddr *originator_address, const int encapsulation_session)
Generic implementation of the GetAttributeAll CIP service. 
#define OPENER_TRACE_INFO(...)
#define OPENER_DEVICE_PRODUCT_CODE
CipShortString product_name_
EipStatus GetAttributeSingle(CipInstance *RESTRICT const instance, CipMessageRouterRequest *const message_router_request, CipMessageRouterResponse *const message_router_response, struct sockaddr *originator_address, const int encapsulation_session)
Generic implementation of the GetAttributeSingle CIP service. 
CipIdentitySetExtendedDeviceStatus(CipIdentityExtendedStatus extended_status)
CipInstance * GetCipInstance(const CipClass *RESTRICT const cip_class, EipUint32 instance_number)
Get a pointer to an instance. 
EipStatus CipIdentityInit()
CIP Identity object constructor. 
#define OPENER_DEVICE_MINOR_REVISION
EipStatus ResetDeviceToInitialConfiguration(void)
Reset the device to the initial configuration and emulate as close as possible a power cycle of the d...
void SetDeviceStatus(const EipUint16 status)
Private function, sets the devices status. 
EipUint16 highest_attribute_number
Struct storing the CIP revision. 
CIP Message Router Response. 
struct cip_class * cip_class
#define OPENER_DEVICE_NAME
EipInt16 request_path_size
void InitializeCipIdentiy(CipClass *class)
CipUsint size_of_additional_status