These headers alone fail: #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <netinet/ip_mroute.h> #include <netinet6/ip6_mroute.h> Failure: In file included from x.c:6: /usr/include/netinet6/ip6_mroute.h:92:39: error: use of undeclared identifier 'NBBY' if_mask ifs_bits[howmany(IF_SETSIZE, NIFBITS)]; ^ /usr/include/netinet6/ip6_mroute.h:85:36: note: expanded from macro 'NIFBITS' #define NIFBITS (sizeof(if_mask) * NBBY) /* bits per mask */ ^ /usr/include/netinet6/ip6_mroute.h:92:39: error: use of undeclared identifier 'NBBY' /usr/include/netinet6/ip6_mroute.h:85:36: note: expanded from macro 'NIFBITS' #define NIFBITS (sizeof(if_mask) * NBBY) /* bits per mask */ ^ 2 errors generated.