* SUCH DAMAGE.
*/
-/* Needed define to get at getline for glibc and FreeBSD */
-#ifndef _GNU_SOURCE
-# define _GNU_SOURCE
-#endif
-
#ifdef __APPLE__
# include <mach/mach_time.h>
# include <mach/kern_return.h>
fi
case "$OS" in
-kfreebsd*)
+freebsd*|kfreebsd*)
echo "CPPFLAGS+= -D_GNU_SOURCE" >>$CONFIG_MK
echo "DHCPCD_SRCS+= if-bsd.c" >>$CONFIG_MK
;;
linux*)
- echo "CPPFLAGS+= -D_BSD_SOURCE -D_XOPEN_SOURCE=700" >>$CONFIG_MK
+ echo "CPPFLAGS+= -D_GNU_SOURCE" >>$CONFIG_MK
# Large File Support, should be fine for 32-bit systems.
# But if this is the case, why is it not set by default?
echo "CPPFLAGS+= -D_FILE_OFFSET_BITS=64" >>$CONFIG_MK
echo "CPPFLAGS+= -D_LARGEFILE_SOURCE" >>$CONFIG_MK
echo "CPPFLAGS+= -D_LARGEFILE64_SOURCE" >>$CONFIG_MK
- # glibc-2.20
- echo "CPPFLAGS+= -D_DEFAULT_SOURCE" >>$CONFIG_MK
echo "DHCPCD_SRCS+= if-linux.c" >>$CONFIG_MK
# for RTM_NEWADDR and friends
- echo "#include <asm/types.h> /* fix broken headers */" >>$CONFIG_H
- echo "#include <linux/rtnetlink.h>" >>$CONFIG_H
+ echo "#include <asm/types.h> /* fix broken headers */" >>$CONFIG_H
+ echo "#include <linux/rtnetlink.h>" >>$CONFIG_H
;;
qnx*)
echo "CPPFLAGS+= -D__EXT" >>$CONFIG_MK
if [ -z "$GETLINE" ]; then
printf "Testing for getline ... "
cat <<EOF >_getline.c
-#define _GNU_SOURCE
#include <stdio.h>
int main(void) {
char *buf = NULL;
cm->cmsg_type = IPV6_PKTINFO;
cm->cmsg_len = CMSG_LEN(sizeof(pi));
memset(&pi, 0, sizeof(pi));
- pi.ipi6_ifindex = CAST_IPI6_IFINDEX(ifp->index);
+ pi.ipi6_ifindex = ifp->index;
memcpy(CMSG_DATA(cm), &pi, sizeof(pi));
if (sendmsg(ctx->dhcp_fd, &ctx->sndhdr, 0) == -1) {
* SUCH DAMAGE.
*/
-/* Needed for ppoll(2) */
-#define _GNU_SOURCE
-
#include <sys/time.h>
#include <errno.h>
#define IPV6_H
#include <sys/uio.h>
-
#include <netinet/in.h>
-#if defined(__linux__) && defined(__GLIBC__)
-# define _LINUX_IN6_H
-# include <linux/ipv6.h>
-#endif
-
#include "config.h"
#include "dhcpcd.h"
CMSG_SPACE(sizeof(int)))
-/* ipi6.ifiindex differes between OS's so have a cast function */
-#ifdef __GLIBC__
-#define CAST_IPI6_IFINDEX(idx) (int)(idx)
-#else
-#define CAST_IPI6_IFINDEX(idx) (idx)
-#endif
-
#ifdef INET6
struct ipv6_ctx {
struct sockaddr_in6 from;
cm->cmsg_type = IPV6_PKTINFO;
cm->cmsg_len = CMSG_LEN(sizeof(pi));
memset(&pi, 0, sizeof(pi));
- pi.ipi6_ifindex = CAST_IPI6_IFINDEX(ifp->index);
+ pi.ipi6_ifindex = ifp->index;
memcpy(CMSG_DATA(cm), &pi, sizeof(pi));
logger(ifp->ctx, LOG_DEBUG,