From 321130719c55f61b48aa3bb09ee3622c27ee55cb Mon Sep 17 00:00:00 2001 From: Alexander Shiryaev Date: Thu, 15 Nov 2012 03:46:04 +0400 Subject: [PATCH] Linux CommTCP implementation added --- Trurl-based/_Linux_/Comm/Mod/TCP.odc | Bin 0 -> 19240 bytes Trurl-based/_Linux_/Lin/Mod/Net.txt | 258 ++++++++++++++++++ Trurl-based/_Linux_/Lin/Mod/gen-Net/Makefile | 23 ++ .../_Linux_/Lin/Mod/gen-Net/Net.txt.templ | 140 ++++++++++ Trurl-based/_Linux_/Lin/Mod/gen-Net/defs-in | 29 ++ .../_Linux_/Lin/Mod/gen-Net/defs-netdb | 6 + Trurl-based/_Linux_/Lin/Mod/gen-Net/defs-sock | 7 + .../_Linux_/Lin/Mod/gen-Net/dumpdefs.py | 1 + .../_Linux_/Lin/Mod/gen-Net/dumphstrerrno.c | 1 + .../_Linux_/Lin/Mod/gen-Net/untempl.py | 1 + Trurl-based/_OpenBSD_/Comm/Mod/TCP.odc | Bin 19344 -> 19332 bytes Trurl-based/_OpenBSD_/Lin/Mod/Net.txt | 1 + .../_OpenBSD_/Lin/Mod/gen-Libc/dumpdefs.py | 25 +- .../_OpenBSD_/Lin/Mod/gen-Net/Net.txt.templ | 1 + 14 files changed, 489 insertions(+), 4 deletions(-) create mode 100644 Trurl-based/_Linux_/Comm/Mod/TCP.odc create mode 100644 Trurl-based/_Linux_/Lin/Mod/Net.txt create mode 100644 Trurl-based/_Linux_/Lin/Mod/gen-Net/Makefile create mode 100644 Trurl-based/_Linux_/Lin/Mod/gen-Net/Net.txt.templ create mode 100644 Trurl-based/_Linux_/Lin/Mod/gen-Net/defs-in create mode 100644 Trurl-based/_Linux_/Lin/Mod/gen-Net/defs-netdb create mode 100644 Trurl-based/_Linux_/Lin/Mod/gen-Net/defs-sock create mode 120000 Trurl-based/_Linux_/Lin/Mod/gen-Net/dumpdefs.py create mode 120000 Trurl-based/_Linux_/Lin/Mod/gen-Net/dumphstrerrno.c create mode 120000 Trurl-based/_Linux_/Lin/Mod/gen-Net/untempl.py diff --git a/Trurl-based/_Linux_/Comm/Mod/TCP.odc b/Trurl-based/_Linux_/Comm/Mod/TCP.odc new file mode 100644 index 0000000000000000000000000000000000000000..770b4456fbf8596442f37db38aaafbfc6202d80b GIT binary patch literal 19240 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 q^1E#}5KsPyT|P4ZH-GzH>Gxj$M(K $@ + ./dumpdefs.py 3 1 i /usr/include/i386-linux-gnu/bits/socket.h | grep " SOMAXCONN" >> $@ + +defs-so: + ./dumpdefs.py 3 1 s /usr/include/asm-generic/socket.h | grep " SO_" > $@ + +clean: + rm -f Net.txt ${DEFS} dumphstrerrno diff --git a/Trurl-based/_Linux_/Lin/Mod/gen-Net/Net.txt.templ b/Trurl-based/_Linux_/Lin/Mod/gen-Net/Net.txt.templ new file mode 100644 index 0000000..ea54461 --- /dev/null +++ b/Trurl-based/_Linux_/Lin/Mod/gen-Net/Net.txt.templ @@ -0,0 +1,140 @@ +MODULE LinNet ["libc.so.6"]; + + (* + A. V. Shiryaev, 2012.11 + + GNU/Linux + 32-bit + *) + + IMPORT Libc := LinLibc; + + CONST + INVALID_SOCKET* = -1; + SOCKET_ERROR* = -1; + + (* /usr/include/i386-linux-gnu/bits/socket.h *) + SHUT_RD* = 0; + SHUT_WR* = 1; + SHUT_RDWR* = 2; +%%defs-sock%% +%%defs-socket%% + (* /usr/include/asm-generic/socket.h *) +%%defs-so%% + (* /usr/include/netinet/in.h *) + INADDR_NONE* = -1; +%%defs-in%% + (* /usr/include/asm-generic/param.h *) + MAXHOSTNAMELEN* = 64; (* max length of hostname *) + + (* /usr/include/netdb.h *) +%%defs-netdb%% + (* /usr/include/i386-linux-gnu/bits/typesizes.h *) + __FD_SETSIZE = 1024; + __NFDBITS = SIZE(SET) * 8; + + TYPE + SOCKET* = INTEGER; + + (* /usr/include/i386-linux-gnu/bits/types.h *) + socklen_t* = INTEGER; + (* /usr/include/i386-linux-gnu/bits/sockaddr.h *) + sa_family_t* = SHORTINT; (* unsigned short int *) + (* /usr/include/netinet/in.h *) + in_addr_t* = INTEGER; + in_port_t* = SHORTINT; + + (* /usr/include/i386-linux-gnu/bits/socket.h *) + sockaddr* = RECORD [untagged] + sa_family: sa_family_t; + sa_data: ARRAY [untagged] 14 OF SHORTCHAR; + END; + + (* /usr/include/linux/in.h *) +(* + in_addr* = INTEGER; +*) + in_addr* = RECORD [untagged] + S_un*: RECORD [union] + S_un_b*: RECORD [untagged] + s_b1*: SHORTCHAR; + s_b2*: SHORTCHAR; + s_b3*: SHORTCHAR; + s_b4*: SHORTCHAR; + END; + S_un_w*: RECORD [untagged] + s_w1*: SHORTINT; + s_w2*: SHORTINT; + END; + S_addr*: in_addr_t; + END; + END; + + (* /usr/include/linux/in.h *) + sockaddr_in* = RECORD [untagged] + sin_family*: sa_family_t; (* address family *) + sin_port*: SHORTINT; (* port number *) + sin_addr*: in_addr; (* internet address *) + __pad: ARRAY [untagged] 8 OF SHORTCHAR; + END; + + (* /usr/include/netdb.h *) + Ptrhostent* = POINTER TO hostent; + hostent* = RECORD [untagged] + h_name*: Libc.PtrSTR; (* official name of host *) + h_aliases*: POINTER TO ARRAY [untagged] OF Libc.PtrSTR; (* alias list *) + h_addrtype*: INTEGER; (* host address type *) + h_length*: INTEGER; (* length of address *) + h_addr_list*: POINTER TO ARRAY [untagged] OF POINTER TO ARRAY [untagged] OF in_addr; (* list of addresses from name server *) + END; + + (* /usr/include/linux/time.h *) + (* /usr/include/asm-generic/posix_types.h *) + timeval* = RECORD [untagged] + tv_sec*: INTEGER; (* seconds *) + tv_usec*: INTEGER; (* microseconds *) + END; + + (* /usr/include/i386-linux-gnu/sys/select.h *) + __fd_mask = SET; + fd_set* = ARRAY [untagged] __FD_SETSIZE DIV __NFDBITS OF __fd_mask; + + VAR + h_errno*: INTEGER; + + PROCEDURE [ccall] socket* (domain: INTEGER; type: INTEGER; protocol: INTEGER): SOCKET; + PROCEDURE [ccall] accept* (sockfd: SOCKET; VAR addr: sockaddr; VAR addrlen: socklen_t): SOCKET; + PROCEDURE [ccall] bind* (sockfd: SOCKET; VAR addr: sockaddr; addrlen: socklen_t): INTEGER; + PROCEDURE [ccall] connect* (sockfd: SOCKET; VAR addr: sockaddr; addrlen: socklen_t): INTEGER; + PROCEDURE [ccall] listen* (sockfd: SOCKET; backlog: INTEGER): INTEGER; + PROCEDURE [ccall] recv* (soskfd: SOCKET; buf: Libc.PtrVoid; len: Libc.size_t; flags: SET): Libc.ssize_t; + PROCEDURE [ccall] send* (sockfd: SOCKET; buf: Libc.PtrVoid; len: Libc.size_t; flags: SET): Libc.ssize_t; + PROCEDURE [ccall] shutdown* (sockfd: SOCKET; how: INTEGER): INTEGER; + PROCEDURE [ccall] getsockopt* (sockfd: SOCKET; level: INTEGER; optname: SET; optval: Libc.PtrVoid; VAR optlen: socklen_t): INTEGER; + PROCEDURE [ccall] setsockopt* (sockfd: SOCKET; level: INTEGER; optname: SET; optval: Libc.PtrVoid; optlen: socklen_t): INTEGER; + + PROCEDURE [ccall] htons* (hostshort: SHORTINT): SHORTINT; + + PROCEDURE [ccall] gethostbyname* (name: Libc.PtrSTR): Ptrhostent; + PROCEDURE [ccall] inet_addr* (cp: Libc.PtrSTR): in_addr_t; + + PROCEDURE [ccall] getsockname* (sockfd: SOCKET; VAR addr: sockaddr; VAR addrlen: socklen_t): INTEGER; + + PROCEDURE [ccall] hstrerror* (err: INTEGER): Libc.PtrSTR; + +(* + PROCEDURE FD_ZERO (VAR set: Net.fd_set); + VAR i: INTEGER; + BEGIN + i := 0; WHILE i < LEN(set) DO set[i] := {}; INC(i) END + END FD_ZERO; + + PROCEDURE FD_SET (fd: Net.SOCKET; VAR set: Net.fd_set); + BEGIN + INCL(set[fd DIV 32], fd MOD 32) + END FD_SET; +*) + + PROCEDURE [ccall] select* (nfds: INTEGER; VAR [nil] readfds: fd_set; VAR [nil] writefds: fd_set; VAR [nil] exceptfds: fd_set; VAR timeout: timeval): INTEGER; + +END LinNet. diff --git a/Trurl-based/_Linux_/Lin/Mod/gen-Net/defs-in b/Trurl-based/_Linux_/Lin/Mod/gen-Net/defs-in new file mode 100644 index 0000000..2c0402e --- /dev/null +++ b/Trurl-based/_Linux_/Lin/Mod/gen-Net/defs-in @@ -0,0 +1,29 @@ + IPPROTO_IP = 0; (* Dummy protocol for TCP. *) + IPPROTO_HOPOPTS* = 0; (* IPv6 Hop-by-Hop options. *) + IPPROTO_ICMP* = 1; (* Internet Control Message Protocol. *) + IPPROTO_IGMP* = 2; (* Internet Group Management Protocol. *) + IPPROTO_IPIP* = 4; (* IPIP tunnels (older KA9Q tunnels use 94). *) + IPPROTO_TCP* = 6; (* Transmission Control Protocol. *) + IPPROTO_EGP* = 8; (* Exterior Gateway Protocol. *) + IPPROTO_PUP* = 12; (* PUP protocol. *) + IPPROTO_UDP* = 17; (* User Datagram Protocol. *) + IPPROTO_IDP* = 22; (* XNS IDP protocol. *) + IPPROTO_TP* = 29; (* SO Transport Protocol Class 4. *) + IPPROTO_DCCP* = 33; (* Datagram Congestion Control Protocol. *) + IPPROTO_IPV6* = 41; (* IPv6 header. *) + IPPROTO_ROUTING* = 43; (* IPv6 routing header. *) + IPPROTO_FRAGMENT* = 44; (* IPv6 fragmentation header. *) + IPPROTO_RSVP* = 46; (* Reservation Protocol. *) + IPPROTO_GRE* = 47; (* General Routing Encapsulation. *) + IPPROTO_ESP* = 50; (* encapsulating security payload. *) + IPPROTO_AH* = 51; (* authentication header. *) + IPPROTO_ICMPV6* = 58; (* ICMPv6. *) + IPPROTO_NONE* = 59; (* IPv6 no next header. *) + IPPROTO_DSTOPTS* = 60; (* IPv6 destination options. *) + IPPROTO_MTP* = 92; (* Multicast Transport Protocol. *) + IPPROTO_ENCAP* = 98; (* Encapsulation Header. *) + IPPROTO_PIM* = 103; (* Protocol Independent Multicast. *) + IPPROTO_COMP* = 108; (* Compression Header Protocol. *) + IPPROTO_SCTP* = 132; (* Stream Control Transmission Protocol. *) + IPPROTO_UDPLITE* = 136; (* UDP-Lite protocol. *) + IPPROTO_RAW* = 255; (* Raw IP packets. *) diff --git a/Trurl-based/_Linux_/Lin/Mod/gen-Net/defs-netdb b/Trurl-based/_Linux_/Lin/Mod/gen-Net/defs-netdb new file mode 100644 index 0000000..4b218bb --- /dev/null +++ b/Trurl-based/_Linux_/Lin/Mod/gen-Net/defs-netdb @@ -0,0 +1,6 @@ + NETDB_INTERNAL* = -1; (* See errno. *) + NETDB_SUCCESS* = 0; (* No problem. *) + HOST_NOT_FOUND* = 1; (* Authoritative Answer Host not found. *) + TRY_AGAIN* = 2; (* Non-Authoritative Host not found, or SERVERFAIL. *) + NO_RECOVERY* = 3; (* Non recoverable errors, FORMERR, REFUSED, NOTIMP. *) + NO_DATA* = 4; (* Valid name, no data record of requested type. *) diff --git a/Trurl-based/_Linux_/Lin/Mod/gen-Net/defs-sock b/Trurl-based/_Linux_/Lin/Mod/gen-Net/defs-sock new file mode 100644 index 0000000..158217a --- /dev/null +++ b/Trurl-based/_Linux_/Lin/Mod/gen-Net/defs-sock @@ -0,0 +1,7 @@ + SOCK_STREAM* = 1; + SOCK_DGRAM* = 2; + SOCK_RAW* = 3; + SOCK_RDM* = 4; + SOCK_SEQPACKET* = 5; + SOCK_DCCP* = 6; + SOCK_PACKET* = 10; diff --git a/Trurl-based/_Linux_/Lin/Mod/gen-Net/dumpdefs.py b/Trurl-based/_Linux_/Lin/Mod/gen-Net/dumpdefs.py new file mode 120000 index 0000000..1730591 --- /dev/null +++ b/Trurl-based/_Linux_/Lin/Mod/gen-Net/dumpdefs.py @@ -0,0 +1 @@ +../gen-Libc/dumpdefs.py \ No newline at end of file diff --git a/Trurl-based/_Linux_/Lin/Mod/gen-Net/dumphstrerrno.c b/Trurl-based/_Linux_/Lin/Mod/gen-Net/dumphstrerrno.c new file mode 120000 index 0000000..d87b25c --- /dev/null +++ b/Trurl-based/_Linux_/Lin/Mod/gen-Net/dumphstrerrno.c @@ -0,0 +1 @@ +../../../../_OpenBSD_/Lin/Mod/gen-Net/dumphstrerrno.c \ No newline at end of file diff --git a/Trurl-based/_Linux_/Lin/Mod/gen-Net/untempl.py b/Trurl-based/_Linux_/Lin/Mod/gen-Net/untempl.py new file mode 120000 index 0000000..5800713 --- /dev/null +++ b/Trurl-based/_Linux_/Lin/Mod/gen-Net/untempl.py @@ -0,0 +1 @@ +../gen-Libc/untempl.py \ No newline at end of file diff --git a/Trurl-based/_OpenBSD_/Comm/Mod/TCP.odc b/Trurl-based/_OpenBSD_/Comm/Mod/TCP.odc index 3181e5eb2f4a74cbeafd8ca97c752fb56b701948..a281fd8430537097759eb06702135c79ca112607 100644 GIT binary patch delta 130 zcmbO*ov~#)-644e!M4DJ)3yE1;9tjlOGT;RdLzz-D40MZa(xw)Q^ zm5KT0W9G^2%=f@_2Fq+P&Bi)|Y0dM=3s?_;C{=d7$rIQ(LCo1~9YAWcD*I(tM(54U Ry!Q;5gIz;5KeJoK0|2M;DdYeE delta 142 zcmZpfΝx>KS<_HpFp8doeI@GB7X%Pkipm_;<1{qrGsA2Ll5?P^bh*LxA(