MCPcopy Create free account
hub / github.com/EIPStackGroup/OpENer / SetPathLogicalSegmentLogicalType

Function SetPathLogicalSegmentLogicalType

source/src/cip/cipepath.c:252–285  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

250}
251
252void SetPathLogicalSegmentLogicalType(LogicalSegmentLogicalType logical_type,
253 CipOctet *const cip_path) {
254 OPENER_ASSERT( kSegmentTypeLogicalSegment == GetPathSegmentType(cip_path) )
255 switch (logical_type) {
256 case kLogicalSegmentLogicalTypeClassId:
257 (*cip_path) |= LOGICAL_SEGMENT_TYPE_CLASS_ID;
258 break;
259 case kLogicalSegmentLogicalTypeInstanceId:
260 (*cip_path) |= LOGICAL_SEGMENT_TYPE_INSTANCE_ID;
261 break;
262 case kLogicalSegmentLogicalTypeMemberId:
263 (*cip_path) |= LOGICAL_SEGMENT_TYPE_MEMBER_ID;
264 break;
265 case kLogicalSegmentLogicalTypeConnectionPoint:
266 (*cip_path) |= LOGICAL_SEGMENT_TYPE_CONNECTION_POINT;
267 break;
268 case kLogicalSegmentLogicalTypeAttributeId:
269 (*cip_path) |= LOGICAL_SEGMENT_TYPE_ATTRIBUTE_ID;
270 break;
271 case kLogicalSegmentLogicalTypeSpecial:
272 (*cip_path) |= LOGICAL_SEGMENT_TYPE_SPECIAL;
273 break;
274 case kLogicalSegmentLogicalTypeServiceId:
275 (*cip_path) |= LOGICAL_SEGMENT_TYPE_SERVICE_ID;
276 break;
277 case kLogicalSegmentLogicalTypeExtendedLogical:
278 (*cip_path) |= LOGICAL_SEGMENT_TYPE_EXTENDED_LOGICAL;
279 break;
280 default:
281 OPENER_ASSERT(
282 "Logical segment/logical type: It is not possible to reach this point!\n");
283 break;
284 }
285}
286
287LogicalSegmentLogicalFormat GetPathLogicalSegmentLogicalFormat(
288 const unsigned char *const cip_path) {

Callers 1

Calls 1

GetPathSegmentTypeFunction · 0.85

Tested by

no test coverage detected