Modbus

// enums

enum io.ModbusException;
enum io.ModbusFunc;
enum io.ModbusProtocol;
enum io.ModbusRole;

// structs

struct io.ModbusAsciiAduHdr;
struct io.ModbusExceptionPdu;
struct io.ModbusGetCommEventCounterReplyPdu;
struct io.ModbusGetCommEventLogReplyPdu;
struct io.ModbusMaskWritePdu;
struct io.ModbusPduHdr;
struct io.ModbusReadExceptionStatusReplyPdu;
struct io.ModbusReadFifoPdu;
struct io.ModbusReadFifoReplyPdu;
struct io.ModbusReadPdu;
struct io.ModbusReadReplyPdu;
struct io.ModbusReadWriteMultiplePdu;
struct io.ModbusRtuAduHdr;
struct io.ModbusTcpAduHdr;
struct io.ModbusWriteMultiplePdu;
struct io.ModbusWriteMultipleReplyPdu;
struct io.ModbusWritePdu;

// global functions

char const* io.getModbusFuncString(io.ModbusFunc func);
char const* io.getModbusExceptionString(io.ModbusException exception);

size_t errorcode io.getModbusPduSize(
    io.ModbusRole role,
    io.ModbusPduHdr const* pduHdr,
    size_t size
    );

size_t errorcode io.getModbusRtuAduSize(
    io.ModbusRole role,
    io.ModbusRtuAduHdr const* aduHdr,
    size_t size
    );