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

Function CipEpathSetLogicalValue

source/src/cip/cipepath.c:356–377  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

354}
355
356size_t CipEpathSetLogicalValue(const CipDword logical_value,
357 const LogicalSegmentLogicalFormat logical_format,
358 CipOctet **message) {
359 size_t written_bytes = 0;
360 switch(logical_value) {
361 case kLogicalSegmentLogicalFormatEightBit:
362 written_bytes = AddSintToMessage(logical_value, message);
363 break;
364 case kLogicalSegmentLogicalFormatSixteenBit:
365 written_bytes = MoveMessageNOctets(1, (const CipOctet **)message); /* Needed for padding */
366 written_bytes += AddIntToMessage(logical_value, message);
367 break;
368 case kLogicalSegmentLogicalFormatThirtyTwoBit:
369 written_bytes = MoveMessageNOctets(1,(const CipOctet **)message); /* Needed for padding */
370 written_bytes += AddDintToMessage(logical_value, message);
371 break;
372 default:
373 OPENER_ASSERT(false) /* This should never happen! */
374 written_bytes = 0;
375 }
376 return written_bytes;
377}
378
379LogicalSegmentExtendedLogicalType GetPathLogicalSegmentExtendedLogicalType(
380 const unsigned char *const cip_path) {

Callers 1

Calls 4

AddSintToMessageFunction · 0.85
MoveMessageNOctetsFunction · 0.85
AddIntToMessageFunction · 0.85
AddDintToMessageFunction · 0.85

Tested by

no test coverage detected