27#ifndef PROTOCORE_SB_MODBUS_H
28#define PROTOCORE_SB_MODBUS_H
36#if PC_ENABLE_SOUTHBOUND && PC_ENABLE_MODBUS_MASTER
46typedef int (*pc_sb_modbus_txn)(
void *io,
const uint8_t *req,
size_t req_len, uint8_t *resp,
size_t resp_cap);
49#define PC_SB_MODBUS_EXCEPTION (-100)
56struct pc_sb_modbus_ctx
63 uint8_t last_exception;
75int pc_sb_modbus_init(pc_sb_modbus_ctx *ctx, pc_sb_modbus_txn txn,
void *io, ModbusFunction fc, uint8_t unit);
87int pc_sb_modbus_driver(SouthboundDriver *drv_out,
const char *name, pc_sb_modbus_ctx *ctx);
Zero-heap Modbus TCP slave/server (Modbus Application Protocol v1.1b3).
User-facing configuration for ProtoCore.
Southbound protocol-driver framework (PC_ENABLE_SOUTHBOUND).