Skip to content



modbus_reply - send a response to the received request


int modbus_reply(modbus_t *ctx, const uint8_t *req, int req_length, modbus_mapping_t *mb_mapping);


The modbus_reply() function shall send a response to received request. The request req given in argument is analyzed, a response is then built and sent by using the information of the modbus context ctx.

If the request indicates to read or write a value the operation will done in the modbus mapping mb_mapping according to the type of the manipulated data.

If an error occurs, an exception response will be sent.

This function is designed for Modbus servers.

Return value

The function shall return the length of the response sent if successful. Otherwise it shall return -1 and set errno.


  • EMBMDATA, sending has failed

See also the errors returned by the syscall used to send the response (eg. send or write).

See also