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