From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, MAILING_LIST_MULTI autolearn=unavailable autolearn_force=no version=3.4.4 X-Google-Thread: 103376,f69eb259f3ed2afb X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII Path: g2news1.google.com!news1.google.com!proxad.net!usenet-fr.net!news.enst.fr!melchior!cuivre.fr.eu.org!melchior.frmug.org!not-for-mail From: =?ISO-8859-1?Q?Bj=F6rn_Lundin?= Newsgroups: comp.lang.ada Subject: Re: Using GNAT.Sockets Date: Tue, 19 Apr 2005 19:36:18 +0200 Organization: Cuivre, Argent, Or Message-ID: References: <1113404846.310840.322920@z14g2000cwz.googlegroups.com> <1113555847.303640.190000@f14g2000cwb.googlegroups.com> <1113814867.251847.285880@o13g2000cwo.googlegroups.com> <1113834734.937407.145410@z14g2000cwz.googlegroups.com> <4263ced3$0$2275$ba620e4c@news.skynet.be> <1113838500.614450.176530@l41g2000cwc.googlegroups.com> <4263d6bc$0$1407$ba620e4c@news.skynet.be> <1113843963.760135.111420@f14g2000cwb.googlegroups.com> NNTP-Posting-Host: lovelace.ada-france.org Mime-Version: 1.0 (Apple Message framework v622) Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable X-Trace: melchior.cuivre.fr.eu.org 1113932205 60329 212.85.156.195 (19 Apr 2005 17:36:45 GMT) X-Complaints-To: usenet@melchior.cuivre.fr.eu.org NNTP-Posting-Date: Tue, 19 Apr 2005 17:36:45 +0000 (UTC) Cc: comp.lang.ada@ada-france.org To: Eric Jacoboni Return-Path: In-Reply-To: X-Mailer: Apple Mail (2.622) X-Virus-Scanned: by amavisd-new at spray.net X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at ada-france.org X-BeenThere: comp.lang.ada@ada-france.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Gateway to the comp.lang.ada Usenet newsgroup" List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Xref: g2news1.google.com comp.lang.ada:10576 Date: 2005-04-19T19:36:18+02:00 2005-04-19 kl. 01.00 skrev Eric Jacoboni: > > 1) Like AdaSockets, it refuses to build on my system (Mac OS X) and > i've no so much time/skill to investigate more on that. if you can live with linking it static, download adasockets 1.8.4.7 then put sockets-constants.ads sockets-naming.ads sockets-utils.adb sockets-link.ads sockets-stream_io.adb sockets-utils.ads sockets-multicast.adb sockets-stream_io.ads sockets.adb sockets-multicast.ads sockets-thin.ads sockets.ads sockets-naming.adb sockets-types.ads test.adb into a directory in your SOURCE_PATH of gnat (socket-thin.ads was called socket-thin.ads.unix, and sockets-constants.ads was generated by modifying the constants.sh=20 script some constnts failed, but I did not bother, but the failed ones are: constants.c:150: error: `FIOSSAIOOWN' undeclared (first use in this=20 function) constants.c:150: error: `I_SETSIG' undeclared (first use in this=20 function) constants.c:150: error: `S_RDNORM' undeclared (first use in this=20 function) constants.c:150: error: `S_WRNORM' undeclared (first use in this=20 function) minimac: bnl$ cat sockets-constants.ads -- This package has been generated automatically on: -- Darwin minimac.lundin.homelinux.net 7.9.0 Darwin Kernel Version -- 7.9.0: Wed Mar 30 20:11:17 PST 2005;=20 root:xnu/xnu-517.12.7.obj~1/RELEASE_P -- PC Power Macintosh powerpc -- Generation date: Tue Apr 19 19:09:06 CEST 2005 -- Any change you make here is likely to be lost ! package Sockets.Constants is Tcp_Nodelay : constant :=3D 16#0001#; Af_Inet : constant :=3D 16#0002#; Af_Unix : constant :=3D 16#0001#; Sock_Stream : constant :=3D 16#0001#; Sock_Dgram : constant :=3D 16#0002#; Eintr : constant :=3D 16#0004#; Eagain : constant :=3D 16#0023#; Ewouldblock : constant :=3D 16#0023#; Einprogress : constant :=3D 16#0024#; Ealready : constant :=3D 16#0025#; Eisconn : constant :=3D 16#0038#; Econnrefused : constant :=3D 16#003D#; Fndelay : constant :=3D 16#0004#; Fioasync : constant :=3D -2147195267; F_Getfl : constant :=3D 16#0003#; F_Setfl : constant :=3D 16#0004#; Fiossaioown : constant :=3D 16#0004#; So_Rcvbuf : constant :=3D 16#1002#; So_Reuseaddr : constant :=3D 16#0004#; So_Reuseport : constant :=3D 16#0200#; Sol_Socket : constant :=3D 16#FFFF#; Sigterm : constant :=3D 16#000F#; Sigkill : constant :=3D 16#0009#; O_Rdonly : constant :=3D 16#0000#; O_Wronly : constant :=3D 16#0001#; O_Rdwr : constant :=3D 16#0002#; Host_Not_Found : constant :=3D 16#0001#; Try_Again : constant :=3D 16#0002#; No_Recovery : constant :=3D 16#0003#; No_Data : constant :=3D 16#0004#; No_Address : constant :=3D 16#0004#; Pollin : constant :=3D 16#0001#; Pollpri : constant :=3D 16#0002#; Pollout : constant :=3D 16#0004#; Pollerr : constant :=3D 16#0008#; Pollhup : constant :=3D 16#0010#; Pollnval : constant :=3D 16#0020#; I_Setsig : constant :=3D 16#0020#; S_Rdnorm : constant :=3D 16#0020#; S_Wrnorm : constant :=3D 16#0020#; Ipproto_Ip : constant :=3D 16#0000#; Ip_Add_Membership : constant :=3D 16#000C#; Ip_Multicast_Loop : constant :=3D 16#000B#; Ip_Multicast_Ttl : constant :=3D 16#000A#; Ip_Drop_Membership : constant :=3D 16#000D#; O_Nonblock : constant :=3D 16#0004#; Msg_Peek : constant :=3D 16#0002#; Fionbio : constant :=3D -2147195266; Fionread : constant :=3D 16#4004667F#; So_Sndbuf : constant :=3D 16#1001#; Af_Inet6 : constant :=3D 16#001E#; Ai_Addrconfig : constant :=3D 16#0400#; Ai_All : constant :=3D 16#0100#; Ai_Canonname : constant :=3D 16#0002#; Ai_Default : constant :=3D 16#0600#; Ai_Mask : constant :=3D 16#0007#; Ai_Numerichost : constant :=3D 16#0004#; Ai_Passive : constant :=3D 16#0001#; Ai_V4mapped : constant :=3D 16#0800#; Ai_V4mapped_Cfg : constant :=3D 16#0200#; Ni_Dgram : constant :=3D 16#0010#; Ni_Maxhost : constant :=3D 16#0401#; Ni_Maxserv : constant :=3D 16#0020#; Ni_Namereqd : constant :=3D 16#0004#; Ni_Nofqdn : constant :=3D 16#0001#; Ni_Numerichost : constant :=3D 16#0002#; Ni_Numericserv : constant :=3D 16#0008#; Ni_Withscopeid : constant :=3D 16#0020#; Ipproto_Ipv6 : constant :=3D 16#0029#; Ipv6_Unicast_Hops : constant :=3D 16#0004#; Ipv6_Multicast_If : constant :=3D 16#0009#; Ipv6_Multicast_Hops : constant :=3D 16#000A#; Ipv6_Multicast_Loop : constant :=3D 16#000B#; Ipv6_Join_Group : constant :=3D 16#000C#; Ipv6_Leave_Group : constant :=3D 16#000D#; end Sockets.Constants; By doing this, I get to use 'socket' 'connect' put_line' and 'get' properly by testing with my webserver minimac: bnl$ cat test.adb with sockets; use sockets; with Text_io; procedure test is My_sock : socket_fd; begin Socket(My_sock); Connect(My_Sock,"della",80); Put_Line(My_Sock, "GET /"); Text_Io.Put_Line(Get(My_Sock)); end test; > Bj=F6rn Lundin bnl at spray dot se