X-Spam-Check-By: sourceware.org Date: Tue, 11 Apr 2006 11:28:09 +0200 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: getsockname problem Message-ID: <20060411092809.GB31165@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <001101c65a43$890d59a0$a501a8c0 AT CAM DOT ARTIMI DOT COM> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2i Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On Apr 7 17:56, Antonio Querubin wrote: > On Fri, 7 Apr 2006, Dave Korn wrote: > > > Should have read the man page instead! > > > >> s = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP); > >> printf("socket = %d\nlength = %d\n", s, len); > >> > >> rc = getsockname(s, (struct sockaddr *) &sa, &len); > > > > > >http://www.opengroup.org/onlinepubs/007908799/xns/getsockname.html > > > >"If the socket has not been bound to a local name, the value stored in the > >object pointed to by address is unspecified." > > This doesn't explain why the code fragment works under UNIX and Linux > systems (that I have access to), but fails under Cygwin. > > According to Steven's 'Unix Network Programming', 2'd edition, Vol 1, > "Posix.1g allows a call to getsockname() on an unbound socket". > Furthermore, the Cygwin API indicates Cygwin's networking support is > standardized to Posix.1g for getsockname() and a whole bunch of the other > networking functions. We can't create a local name for the socket if the underlying getsockname function in WinSock doesn't. Apparenty WinSock doesn't. Which should be no problem since the behaviour is still conformant to the standards. Note that Posix 1.g allows to return a local name, it doesn't demand it. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/