Commit 2076d11f3e877d99962b95b686b70a74ea82315d
1 parent
900aa475
Add documentation for tcp[_pi]_accept (closes #31)
Showing
4 changed files
with
115 additions
and
3 deletions
doc/Makefile.am
doc/modbus_tcp_accept.txt
0 → 100644
| 1 | +modbus_tcp_accept(3) | |
| 2 | +==================== | |
| 3 | + | |
| 4 | + | |
| 5 | +NAME | |
| 6 | +---- | |
| 7 | +modbus_tcp_accept - accept a new connection on a TCP Modbus socket (IPv4) | |
| 8 | + | |
| 9 | + | |
| 10 | +SYNOPSIS | |
| 11 | +-------- | |
| 12 | +*int modbus_tcp_accept(modbus_t *'ctx', int *'s);* | |
| 13 | + | |
| 14 | + | |
| 15 | +DESCRIPTION | |
| 16 | +----------- | |
| 17 | +The _modbus_tcp_accept()_ function shall extract the first connection on the | |
| 18 | +queue of pending connections, create a new socket and store it in libmodbus | |
| 19 | +context given in argument. If available, _accept4()_ with *SOCK_CLOEXEC* will be | |
| 20 | +called instead of _accept()_. | |
| 21 | + | |
| 22 | + | |
| 23 | +RETURN VALUE | |
| 24 | +------------ | |
| 25 | +The _modbus_tcp_accept()_ function shall return a new socket if successful. | |
| 26 | +Otherwise it shall return -1 and set errno. | |
| 27 | + | |
| 28 | + | |
| 29 | +EXAMPLE | |
| 30 | +------- | |
| 31 | +For detailed example, see unit-test-server.c source file in tests directory. | |
| 32 | + | |
| 33 | +[source,c] | |
| 34 | +------------------- | |
| 35 | +... | |
| 36 | + | |
| 37 | +ctx = modbus_new_tcp("127.0.0.1", 502); | |
| 38 | +s = modbus_tcp_listen(ctx, 1); | |
| 39 | +modbus_tcp_accept(ctx, &s); | |
| 40 | + | |
| 41 | +... | |
| 42 | + | |
| 43 | +close(s) | |
| 44 | +modbus_free(ctx); | |
| 45 | +------------------- | |
| 46 | + | |
| 47 | +SEE ALSO | |
| 48 | +-------- | |
| 49 | +linkmb:modbus_tcp_pi_accept[3] | |
| 50 | +linkmb:modbus_tcp_listen[3] | |
| 51 | +linkmb:modbus_tcp_pi_listen[3] | |
| 52 | + | |
| 53 | +AUTHORS | |
| 54 | +------- | |
| 55 | +The libmodbus documentation was written by Stéphane Raimbault | |
| 56 | +<stephane.raimbault@gmail.com> | ... | ... |
doc/modbus_tcp_pi_accept.txt
0 → 100644
| 1 | +modbus_tcp_pi_accept(3) | |
| 2 | +======================= | |
| 3 | + | |
| 4 | + | |
| 5 | +NAME | |
| 6 | +---- | |
| 7 | +modbus_tcp_pi_accept - accept a new connection on a TCP PI Modbus socket (IPv6) | |
| 8 | + | |
| 9 | + | |
| 10 | +SYNOPSIS | |
| 11 | +-------- | |
| 12 | +*int modbus_tcp_pi_accept(modbus_t *'ctx', int *'s);* | |
| 13 | + | |
| 14 | + | |
| 15 | +DESCRIPTION | |
| 16 | +----------- | |
| 17 | + | |
| 18 | +The _modbus_tcp_pi_accept()_ function shall extract the first connection on the | |
| 19 | +queue of pending connections, create a new socket and store it in libmodbus | |
| 20 | +context given in argument. If available, _accept4()_ with *SOCK_CLOEXEC* will be | |
| 21 | +called instead of _accept()_. | |
| 22 | + | |
| 23 | + | |
| 24 | +RETURN VALUE | |
| 25 | +------------ | |
| 26 | +The _modbus_tcp_pi_accept()_ function shall return a new socket if successful. | |
| 27 | +Otherwise it shall return -1 and set errno. | |
| 28 | + | |
| 29 | + | |
| 30 | +EXAMPLE | |
| 31 | +------- | |
| 32 | +For detailed example, see unit-test-server.c source file in tests directory. | |
| 33 | + | |
| 34 | +[source,c] | |
| 35 | +------------------- | |
| 36 | +... | |
| 37 | + | |
| 38 | +ctx = modbus_new_tcp_pi("::0", 502); | |
| 39 | +s = modbus_tcp_pi_listen(ctx, 1); | |
| 40 | +modbus_tcp_pi_accept(ctx, &s); | |
| 41 | + | |
| 42 | +... | |
| 43 | + | |
| 44 | +close(s) | |
| 45 | +modbus_free(ctx); | |
| 46 | +------------------- | |
| 47 | + | |
| 48 | +SEE ALSO | |
| 49 | +-------- | |
| 50 | +linkmb:modbus_tcp_pi_accept[3] | |
| 51 | +linkmb:modbus_tcp_listen[3] | |
| 52 | +linkmb:modbus_tcp_pi_listen[3] | |
| 53 | + | |
| 54 | +AUTHORS | |
| 55 | +------- | |
| 56 | +The libmodbus documentation was written by Stéphane Raimbault | |
| 57 | +<stephane.raimbault@gmail.com> | ... | ... |
src/modbus-tcp.c
| ... | ... | @@ -621,9 +621,6 @@ int modbus_tcp_pi_listen(modbus_t *ctx, int nb_connection) |
| 621 | 621 | return new_s; |
| 622 | 622 | } |
| 623 | 623 | |
| 624 | -/* On success, the function return a non-negative integer that is a descriptor | |
| 625 | -for the accepted socket. On error, socket is set to -1, -1 is returned and errno | |
| 626 | -is set appropriately. */ | |
| 627 | 624 | int modbus_tcp_accept(modbus_t *ctx, int *s) |
| 628 | 625 | { |
| 629 | 626 | struct sockaddr_in addr; | ... | ... |