X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 tests=BAYES_00 X-Spam-Check-By: sourceware.org Subject: missing ipi_spec_dst in struct in_pktinfo X-KeepSent: 10653B86:82265559-85257627:006D9ED5; type=4; name=$KeepSent To: cygwin AT cygwin DOT com Message-ID: From: Schulman DOT Andrew AT epamail DOT epa DOT gov Date: Fri, 4 Sep 2009 16:10:24 -0400 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: 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 I'm trying to build socat for Cygwin (1.7). The build fails with xio-ip.c:480: error: structure has no member named `ipi_spec_dst' The offending code wants to use pktinfo->ipi_spec_dst.s_addr, where pktinfo is a struct in_pktinfo *. The problem is that in Cygwin, in_pktinfo doesn't have an ipi_spec_dst member. The IP man page (http://homepages.cwi.nl/~aeb/linux/man2html/man7/ip.7.html) lists in_pktinfo as struct in_pktinfo { unsigned int ipi_ifindex; /* Interface index */ struct in_addr ipi_spec_dst; /* Local address */ struct in_addr ipi_addr; /* Header Destination address */ }; while in /usr/include/cygwin/in.h, it's just struct in_pktinfo { struct in_addr ipi_addr; uint32_t ipi_ifindex; }; Any suggestions for a workaround to this problem? Why is ipi_spec_dst missing, and more to the point, what can/should I substitute in its place? ip(7) says that "If ... ipi_spec_dst is not zero, then it is used as the local source address for the routing table lookup and for setting up IP source route options." This suggests that I could replace it by zero. Comments? Thanks, Andrew. -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple