From cd0380f9a285dcaf6ce998b3f2334b71e24d0a3d Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Thu, 9 Feb 2017 17:05:47 +0100 Subject: sys: improve tcp sockopts --- sys/socket_inet_tcp.txt | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) (limited to 'sys/socket_inet_tcp.txt') diff --git a/sys/socket_inet_tcp.txt b/sys/socket_inet_tcp.txt index 3a8552162..e3cb449ae 100644 --- a/sys/socket_inet_tcp.txt +++ b/sys/socket_inet_tcp.txt @@ -7,32 +7,36 @@ include resource sock_tcp[sock_in] -socket$tcp(domain const[AF_INET], type const[SOCK_STREAM], proto const[0]) sock_tcp -socketpair$tcp(domain const[AF_INET], type const[SOCK_STREAM], proto const[0], fds ptr[out, tcp_pair]) - tcp_pair { f0 sock_tcp f1 sock_tcp } -resource sock_tcp6[sock_in6] +socket$tcp(domain const[AF_INET], type const[SOCK_STREAM], proto const[0]) sock_tcp +socketpair$tcp(domain const[AF_INET], type const[SOCK_STREAM], proto const[0], fds ptr[out, tcp_pair]) -socket$tcp6(domain const[AF_INET6], type const[SOCK_STREAM], proto const[0]) sock_tcp6 -socketpair$tcp6(domain const[AF_INET6], type const[SOCK_STREAM], proto const[0], fds ptr[out, tcp6_pair]) +resource sock_tcp6[sock_in6] tcp6_pair { f0 sock_tcp6 f1 sock_tcp6 } -sockopt_opt_tcp_int = TCP_CORK, TCP_DEFER_ACCEPT, TCP_KEEPCNT, TCP_KEEPIDLE, TCP_KEEPINTVL, TCP_LINGER2, TCP_MAXSEG, TCP_NODELAY, TCP_QUICKACK, TCP_SYNCNT, TCP_WINDOW_CLAMP +socket$tcp6(domain const[AF_INET6], type const[SOCK_STREAM], proto const[0]) sock_tcp6 +socketpair$tcp6(domain const[AF_INET6], type const[SOCK_STREAM], proto const[0], fds ptr[out, tcp6_pair]) + +# Generic TCP socket options + +tcp_option_types_int = TCP_NODELAY, TCP_MAXSEG, TCP_CORK, TCP_KEEPIDLE, TCP_KEEPINTVL, TCP_KEEPCNT, TCP_SYNCNT, TCP_LINGER2, TCP_DEFER_ACCEPT, TCP_WINDOW_CLAMP, TCP_QUICKACK, TCP_THIN_LINEAR_TIMEOUTS, TCP_THIN_DUPACK, TCP_USER_TIMEOUT, TCP_REPAIR, TCP_REPAIR_QUEUE, TCP_QUEUE_SEQ, TCP_FASTOPEN, TCP_TIMESTAMP, TCP_NOTSENT_LOWAT, TCP_SAVE_SYN + +tcp_option_types_buf = TCP_INFO, TCP_CONGESTION, TCP_MD5SIG, TCP_REPAIR_OPTIONS, TCP_CC_INFO, TCP_SAVED_SYN, TCP_REPAIR_WINDOW -getsockopt$tcp_int(fd sock_tcp, level const[IPPROTO_TCP], optname flags[sockopt_opt_tcp_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) -setsockopt$tcp_int(fd sock_tcp, level const[IPPROTO_TCP], optname flags[sockopt_opt_tcp_int], optval ptr[in, int32], optlen len[optval]) -getsockopt$tcp6_int(fd sock_tcp6, level const[IPPROTO_TCP], optname flags[sockopt_opt_tcp_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) -setsockopt$tcp6_int(fd sock_tcp6, level const[IPPROTO_TCP], optname flags[sockopt_opt_tcp_int], optval ptr[in, int32], optlen len[optval]) +getsockopt$tcp_int(fd sock_tcp, level const[IPPROTO_TCP], optname flags[tcp_option_types_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) +setsockopt$tcp_int(fd sock_tcp, level const[IPPROTO_TCP], optname flags[tcp_option_types_int], optval ptr[in, int32], optlen len[optval]) +getsockopt$tcp6_int(fd sock_tcp6, level const[IPPROTO_TCP], optname flags[tcp_option_types_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) +setsockopt$tcp6_int(fd sock_tcp6, level const[IPPROTO_TCP], optname flags[tcp_option_types_int], optval ptr[in, int32], optlen len[optval]) -getsockopt$tcp_buf(fd sock_tcp, level const[IPPROTO_TCP], optname const[TCP_INFO], optval buffer[out], optlen ptr[inout, len[optval, int32]]) -setsockopt$tcp_buf(fd sock_tcp, level const[IPPROTO_TCP], optname const[TCP_INFO], optval buffer[in], optlen len[optval]) -getsockopt$tcp6_buf(fd sock_tcp6, level const[IPPROTO_TCP], optname const[TCP_INFO], optval buffer[out], optlen ptr[inout, len[optval, int32]]) -setsockopt$tcp6_buf(fd sock_tcp6, level const[IPPROTO_TCP], optname const[TCP_INFO], optval buffer[in], optlen len[optval]) +getsockopt$tcp_buf(fd sock_tcp, level const[IPPROTO_TCP], optname flags[tcp_option_types_buf], optval buffer[out], optlen ptr[inout, len[optval, int32]]) +setsockopt$tcp_buf(fd sock_tcp, level const[IPPROTO_TCP], optname flags[tcp_option_types_buf], optval buffer[in], optlen len[optval]) +getsockopt$tcp6_buf(fd sock_tcp6, level const[IPPROTO_TCP], optname flags[tcp_option_types_buf], optval buffer[out], optlen ptr[inout, len[optval, int32]]) +setsockopt$tcp6_buf(fd sock_tcp6, level const[IPPROTO_TCP], optname flags[tcp_option_types_buf], optval buffer[in], optlen len[optval]) -- cgit mrf-deployment