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