2004-08-19 Paul Jakma <paul@dishone.st>
2004-08-19 Paul Jakma <paul@dishone.st>

        * sockopt.c: include sockopt.h
          rename some of the _pktinfo_ functions to _ifindex, where that is
          their purpose.
          (getsockopt_ipv6_pktinfo_ifindex) renamed to
          getsockopt_ipv6_ifindex.
          (setsockopt_ipv4_pktinfo) renamed to setsockopt_ipv4_ifindex
          (setsockopt_pktinfo) update with previous and add comment re
          AF_INET portability.
          (setsockopt_ifindex) generic ifindex function ala
          setsockopt_pktinfo.
          (getsockopt_ipv4_pktinfo_ifindex) renamed to
          getsockopt_ipv4_ifindex.
          (getsockopt_ipv4_ifindex) rejiggling to reduce repeated
          ifdef/elses. pktinfo case forgot to set ifindex.
          (getsockopt_pktinfo_ifindex) renamed to
          getsockopt_ifindex. update some calls to renamed functions.
        * sockopt.h: Update renamed exported functions
          Rename the CMSG_SIZE macros to IFINDEX.
          Guard IPv4 PKTINFO in a conditional define.
diff --git a/lib/sockopt.h b/lib/sockopt.h
index c5d171c..b7aa1b3 100644
--- a/lib/sockopt.h
+++ b/lib/sockopt.h
@@ -32,26 +32,37 @@
 #endif /* HAVE_IPV6 */
 
 #if defined (IP_PKTINFO)
+
 #define SOPT_SIZE_CMSG_PKTINFO_IPV4()  (sizeof (struct in_pktinfo))
+#define SOPT_SIZE_CMSG_IFINDEX_IPV4 SOPT_SIZE_CMSG_PKTINFO_IPV4
+#define SOPT_SIZE_CMSG_PKTINFO(af) \
+  ((af == AF_INET) ? SOPT_SIZE_CMSG_PKTINFO_IPV4() \
+                   : SOPT_SIZE_CMSG_PKTINFO_IPV6()
+
 #elif defined (IP_RECVIF)
 #if defined (SUNOS_5)
-#define SOPT_SIZE_CMSG_PKTINFO_IPV4()  (sizeof (uint_t))
+#define SOPT_SIZE_CMSG_IFINDEX_IPV4()  (sizeof (uint_t))
 #else
-#define SOPT_SIZE_CMSG_PKTINFO_IPV4()  (sizeof (struct sockaddr_dl))
+#define SOPT_SIZE_CMSG_IFINDEX_IPV4()  (sizeof (struct sockaddr_dl))
 #endif /* SUNOS_5 */
+
 #endif
 
 #define SOPT_SIZE_CMSG_PKTINFO_IPV6() (sizeof (struct in6_pktinfo));
 
-#define SOPT_SIZE_CMSG_PKTINFO(af) \
-  ((af == AF_INET) ? SOPT_SIZE_CMSG_PKTINFO_IPV4() \
-                   : SOPT_SIZE_CMSG_PKTINFO_IPV6()
+#define SOPT_SIZE_CMSG_IFINDEX(af) \
+  ((af == AF_INET) ? SOPT_SIZE_CMSG_IFINDEX_IPV4() \
+                   : SOPT_SIZE_CMSG_IFINDEX_IPV6()
 
 int setsockopt_multicast_ipv4(int sock, 
 			     int optname, 
 			     struct in_addr if_addr,
 			     unsigned int mcast_addr,
 			     unsigned int ifindex);
+
+#if defined (IP_PKTINFO)
 int setsockopt_pktinfo (int, int, int);
-int getsockopt_pktinfo_ifindex (int, struct msghdr *);
+#endif
+int setsockopt_ifindex (int, int, int);
+int getsockopt_ifindex (int, struct msghdr *);
 #endif /*_ZEBRA_SOCKOPT_H */