From 1f7f5daef8b9d4665e463bd842c701b4db27f56b Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Mon, 30 Jan 2017 19:17:38 +0100 Subject: prog, sys: add tcp packets descriptions Also embed tcp checksums into packets. --- sys/socket.txt | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'sys/socket.txt') diff --git a/sys/socket.txt b/sys/socket.txt index c123a5db9..9e86c4de7 100644 --- a/sys/socket.txt +++ b/sys/socket.txt @@ -138,6 +138,7 @@ sockaddr_in { family const[AF_INET, int16] port proc[int16be, 20000, 4] addr in_addr + pad array[const[0, int8], 8] } sockaddr_storage_in { @@ -193,6 +194,28 @@ cmsghdr { +# AF_INET: TCP support + +resource sock_tcp[sock] + +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]) +accept$tcp(fd sock_tcp, peer ptr[out, sockaddr_in, opt], peerlen ptr[inout, len[peer, int32]]) sock_tcp +accept4$tcp(fd sock_tcp, peer ptr[out, sockaddr_in, opt], peerlen ptr[inout, len[peer, int32]], flags flags[accept_flags]) sock_tcp +bind$tcp(fd sock_tcp, addr ptr[in, sockaddr_in], addrlen len[addr]) +connect$tcp(fd sock_tcp, addr ptr[in, sockaddr_in], addrlen len[addr]) +sendto$tcp(fd sock_tcp, buf buffer[in], len len[buf], f flags[send_flags], addr ptr[in, sockaddr_in, opt], addrlen len[addr]) +recvfrom$tcp(fd sock_tcp, buf buffer[out], len len[buf], f flags[recv_flags], addr ptr[in, sockaddr_in, opt], addrlen len[addr]) +getsockname$tcp(fd sock_tcp, addr ptr[out, sockaddr_in], addrlen ptr[inout, len[addr, int32]]) +getpeername$tcp(fd sock_tcp, peer ptr[out, sockaddr_in], peerlen ptr[inout, len[peer, int32]]) + +tcp_pair { + f0 sock_tcp + f1 sock_tcp +} + + + # AF_UNIX support. resource sock_unix[sock] -- cgit mrf-deployment