27#ifndef PROTOCORE_CIP_H
28#define PROTOCORE_CIP_H
32#if PROTOCORE_ENABLE_CIP
41#define CIP_SC_GET_ATTR_ALL 0x01
42#define CIP_SC_GET_ATTR_LIST 0x03
43#define CIP_SC_SET_ATTR_LIST 0x04
44#define CIP_SC_GET_ATTR_SINGLE 0x0E
45#define CIP_SC_SET_ATTR_SINGLE 0x10
46#define CIP_REPLY_FLAG 0x80
49#define CIP_SEG_LOGICAL 0x20
50#define CIP_SEG_CLASS 0x00
51#define CIP_SEG_INSTANCE 0x04
52#define CIP_SEG_ATTRIBUTE 0x10
53#define CIP_SEG_8BIT 0x00
54#define CIP_SEG_16BIT 0x01
56#define CIP_STATUS_SUCCESS 0x00
62 uint8_t general_status;
74 uint16_t attribute_id;
97 uint16_t attribute_id;
98} CipBuildGetAttrSingleArgs;
106 uint16_t instance_id;
107} CipBuildGetAttrAllArgs;
115 uint16_t instance_id;
116 uint16_t attribute_id;
117 const uint8_t *value;
119} CipBuildSetAttrSingleArgs;
127} CipParseResponseArgs;
166 CipBuildEpathArgs build_epath_args;
167 CipBuildRequestArgs build_request_args;
168 CipBuildGetAttrSingleArgs build_get_attr_single_args;
169 CipBuildGetAttrAllArgs build_get_attr_all_args;
170 CipBuildSetAttrSingleArgs build_set_attr_single_args;
171 CipParseResponseArgs parse_response_args;
182 void (*
const build_epath)(uint8_t *work);
183 void (*
const build_request)(uint8_t *work);
184 void (*
const build_get_attr_single)(uint8_t *work);
185 void (*
const build_get_attr_all)(uint8_t *work);
186 void (*
const build_set_attr_single)(uint8_t *work);
187 void (*
const parse_response)(uint8_t *work);
192void protocore_cip_build_epath(uint8_t *work);
193void protocore_cip_build_request(uint8_t *work);
194void protocore_cip_build_get_attr_single(uint8_t *work);
195void protocore_cip_build_get_attr_all(uint8_t *work);
196void protocore_cip_build_set_attr_single(uint8_t *work);
197void protocore_cip_parse_response(uint8_t *work);
203static const CipNs Cip __attribute__((unused)) = {
204 .build_epath = protocore_cip_build_epath,
205 .build_request = protocore_cip_build_request,
206 .build_get_attr_single = protocore_cip_build_get_attr_single,
207 .build_get_attr_all = protocore_cip_build_get_attr_all,
208 .build_set_attr_single = protocore_cip_build_set_attr_single,
209 .parse_response = protocore_cip_parse_response,
#define PROTOCORE_BEGIN_DECLS
Give a header's declarations C linkage, so their symbol names carry no parameter types.
_Bool proto_bool
The truth value.
#define PROTOCORE_END_DECLS