File: modbus_reply.md

package info (click to toggle)
libmodbus 3.1.11-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,112 kB
  • sloc: ansic: 5,495; javascript: 137; makefile: 90; sh: 26
file content (39 lines) | stat: -rw-r--r-- 1,030 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# modbus_reply

## Name

modbus_reply - send a response to the received request

## Synopsis

```c
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 servers.

## 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](modbus_reply_exception.md)