Modbus
// typedefs typedef io.ModbusWriteSingleParams io.ModbusWriteSingleReplyParams; typedef io.ModbusReadReplyParams io.ModbusReadWriteFileRecordParams; typedef io.ModbusReadReplyPdu io.ModbusReadWriteFileRecordPdu; typedef io.ModbusMaskWriteParams io.ModbusMaskWriteReplyParams; typedef io.ModbusReadReplyParams io.ModbusReadWriteMultipleRegistersReplyParams; typedef io.ModbusReadReplyParams io.ModbusReportServerIdReplyParams; typedef io.ModbusWriteSinglePdu io.ModbusWriteSingleReplyPdu; typedef io.ModbusMaskWritePdu io.ModbusMaskWriteReplyPdu; typedef io.ModbusReadReplyPdu io.ModbusReadWriteMultipleRegistersReplyPdu; // enums enum io.ModbusChecksumKind; enum io.ModbusDiagnosticSubFunc; enum io.ModbusException; enum io.ModbusFunc; enum io.ModbusProtocol; enum io.ModbusRole; // structs struct io.ModbusBitBank; struct io.ModbusDiagnosticsParams; struct io.ModbusExceptionParams; struct io.ModbusExceptionPdu; struct io.ModbusFileRecord; struct io.ModbusGetCommEventCounterReplyParams; struct io.ModbusGetCommEventCounterReplyPdu; struct io.ModbusGetCommEventLogReplyParams; struct io.ModbusGetCommEventLogReplyPdu; struct io.ModbusMaskWriteParams; struct io.ModbusMaskWritePdu; struct io.ModbusPduHdr; struct io.ModbusReadExceptionStatusReplyParams; struct io.ModbusReadExceptionStatusReplyPdu; struct io.ModbusReadFifoQueueParams; struct io.ModbusReadFifoQueuePdu; struct io.ModbusReadFifoQueueReplyParams; struct io.ModbusReadFifoQueueReplyPdu; struct io.ModbusReadFileRecordReply; struct io.ModbusReadParams; struct io.ModbusReadPdu; struct io.ModbusReadReplyParams; struct io.ModbusReadReplyPdu; struct io.ModbusReadWriteMultipleRegistersParams; struct io.ModbusReadWriteMultipleRegistersPdu; struct io.ModbusReplyPduHdr; struct io.ModbusRtuAduHdr; struct io.ModbusRtuAduPduHdr; struct io.ModbusRtuCrc; struct io.ModbusTcpAduHdr; struct io.ModbusTcpAduPduHdr; struct io.ModbusWriteMultipleCoilsParams; struct io.ModbusWriteMultipleParams; struct io.ModbusWriteMultiplePdu; struct io.ModbusWriteMultipleRegistersParams; struct io.ModbusWriteMultipleReplyParams; struct io.ModbusWriteMultipleReplyPdu; struct io.ModbusWriteSingleParams; struct io.ModbusWriteSinglePdu; // global functions void io.layoutModbusRegisters( jnc.DynamicLayout* layout, size_t count, size_t size ); void async io.layoutModbusPdu( jnc.DynamicLayout* layout, io.ModbusRole role ); void io.appendModbusPduDigest( std.StringBuilder* digest, void const* p, size_t size, io.ModbusRole role ); uint16_t io.crc16_modbus( void const* p, size_t size ); string_t io.getModbusChecksumValidityString(bool isValid); string_t io.formatModbusRtuCrc(void const* p); string_t io.formatModbusAsciiLrc(void const* p); void async io.layoutModbusAdu( jnc.DynamicLayout* layout, io.ModbusProtocol protocol, io.ModbusRole role ); string_t io.getModbusAduDigest( void const* p, size_t size, jnc.ModuleItemDecl* decl ); string_t io.getModbusRegisterDigest( void const* p0, size_t size ); string_t io.getModbusBitDigest( void const* p, size_t size );