---
name: "modbus_reply"
section: "3"
platform: "linux"
package: "libmodbus-dev"
version: "3.1.6-2.1"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/modbus_reply"
---

# modbus\_reply(3)

send a response to the received request

## NAME

modbus\_reply - send a response to the received request

## SYNOPSIS

\*int modbus\_reply(modbus\_t \**ctx*, const uint8\_t \**req*, int *req\_length*, modbus\_mapping\_t \**mb\_mapping*);

## DESCRIPTION

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 server.

## RETURN VALUE

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

## ERRORS

**EMBMDATA**

Sending has failed

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

## SEE ALSO

[**modbus\_reply\_exception**(3)](/modbus_reply_exception/3.md) [**libmodbus**(7)](/libmodbus/7.md)

## AUTHORS

The libmodbus documentation was written by Stéphane Raimbault \<stephane.raimbault@gmail.com\>
