Update comments about old O_NDELAY
[libmodbus.git] / docs / modbus_tcp_accept.md
blob6deef59814e63dd67d22f570a4bb910dab3416d7
1 # modbus_tcp_accept
3 ## Name
5 modbus_tcp_accept - accept a new connection on a TCP Modbus socket (IPv4)
7 ## Synopsis
9 ```c
10 int modbus_tcp_accept(modbus_t *ctx, int *s);
11 ```
13 ## Description
15 The *modbus_tcp_accept()* function shall extract the first connection on the
16 queue of pending connections, create a new socket and store it in libmodbus
17 context given in argument. If available, `accept4()` with `SOCK_CLOEXEC` will be
18 called instead of `accept()`.
20 ## Return value
22 The function shall return a new socket if successful.
23 Otherwise it shall return -1 and set errno.
25 ## Example
27 For detailed example, see unit-test-server.c source file in tests directory.
29 ```c
30 ...
32 ctx = modbus_new_tcp("127.0.0.1", 502);
33 s = modbus_tcp_listen(ctx, 1);
34 modbus_tcp_accept(ctx, &s);
36 ...
38 close(s)
39 modbus_free(ctx);
40 ```
42 ## See also
44 - [modbus_tcp_pi_accept](modbus_tcp_pi_accept.md)
45 - [modbus_tcp_listen](modbus_tcp_listen.md)
46 - [modbus_tcp_pi_listen](modbus_tcp_pi_listen.md)