Add checks for netinet/ip.h and gai_strerror
[libmodbus.git] / docs / modbus_rtu_set_custom_rts.md
blob9b3230b54f90b0e2c3c7969c364b6c3cd5612c07
1 # modbus_rtu_set_custom_rts
3 ## Name
5 modbus_rtu_set_custom_rts - set a function to be used for custom RTS implementation
7 ## Synopsis
9 ```c
10 int modbus_rtu_set_custom_rts(modbus_t *ctx, void (*set_rts) (modbus_t *ctx, int on))
11 ```
13 ## Description
15 The `modbus_rtu_set_custom_rts()` function shall set a custom function to be
16 called when the RTS pin is to be set before and after a transmission. By default
17 this is set to an internal function that toggles the RTS pin using an ioctl
18 call.
20 Note that this function adheres to the RTS mode, the values `MODBUS_RTU_RTS_UP` or
21 `MODBUS_RTU_RTS_DOWN` must be used for the function to be called.
23 This function can only be used with a context using a RTU backend.
25 ## Return value
27 The `modbus_rtu_set_custom_rts()` function shall return 0 if successful.
28 Otherwise it shall return -1 and set errno to one of the values defined below.
30 ## Errors
32 - *EINVAL*, the libmodbus backend is not RTU.