9 #include "opener_user_conf.h"
33 struct sockaddr *originator_address,
34 const int encapsulation_session) {
37 message_router_response, originator_address,
38 encapsulation_session);
45 struct sockaddr *originator_address,
46 const int encapsulation_session) {
57 if( NULL != attribute &&
58 ( set_bit_mask & ( 1 << ( (attribute_number) % 8 ) ) ) ) {
60 &(message_router_request->
data) );
62 if( !( (attribute_value_recieved <= 0) ||
63 (attribute_value_recieved >= 63) ) ) {
66 if(NULL != attribute->
data) {
68 *(data) = attribute_value_recieved;
86 | message_router_request->
service);
111 return priority_value;
130 "Quality of Service",
158 "GetAttributeSingleQoS");
160 "SetAttributeSingleQoS");
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.
CIP Message Router Request.
Class is a subclass of Instance.
EipUint32 GetDintFromMessage(const EipUint8 **const buffer)
Reads EIP_UINT32 from *buffer and converts little endian to host.
Responsible for Endianess conversion.
size_t CalculateIndex(EipUint16 attribute_number)
Calculates Byte-Index of Attribute.
Public interface of the QoS Object.
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 *))
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
#define OPENER_TRACE_INFO(...)
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.
CipInstance * GetCipInstance(const CipClass *RESTRICT const cip_class, EipUint32 instance_number)
Get a pointer to an instance.
CipUsint GetPriorityForSocket(ConnectionObjectPriority priority)
Initializing the data structures of the TCP/IP interface object.
CipAttributeStruct * GetCipAttribute(const CipInstance *const instance, const EipUint16 attribute_number)
Get a pointer to an instance's attribute.
EipUint16 attribute_number
CIP Message Router Response.
struct cip_class * cip_class
EipStatus GetAttributeSingleQoS(CipInstance *const RESTRICT instance, CipMessageRouterRequest *RESTRICT const message_router_request, CipMessageRouterResponse *RESTRICT const message_router_response, struct sockaddr *originator_address, const int encapsulation_session)
void InitializeCipQos(CipClass *class)
CipUsint size_of_additional_status
EipStatus SetAttributeSingleQoS(CipInstance *instance, CipMessageRouterRequest *message_router_request, CipMessageRouterResponse *message_router_response, struct sockaddr *originator_address, const int encapsulation_session)