This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

missing ipi_spec_dst in struct in_pktinfo


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]