4950607607
Unless __STRICT_ANSI__ is defined (as it is when running the compiler in --std=c89 or --std=c99, but not when running it without any specific args), we can enable these by default and behave like most other systems. I don't know why no one has done this yet despite suggesting it multiple times and people prefer to #define _BSD_SOURCE manually everywhere. Remove all places in our Jamfiles and sources where it had been defined. _DEFAULT_SOURCE is now enabled by default for all sources of Haiku, since we let the compiler use GNU extensions (no strict C standard specified on command line) Use _DEFAULT_SOURCE as the define name to match current versions of glibc. Enable it if _BSD_SOURCE is #defined in compiler flags, for backward compatibility. Change-Id: I6db04da5f6db437723cdfba3478f5094a69d7727 Reviewed-on: https://review.haiku-os.org/c/1633 Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
43 lines
806 B
C
43 lines
806 B
C
/*
|
|
* Copyright 2015, Haiku, Inc. All Rights Reserved.
|
|
* Distributed under the terms of the MIT License.
|
|
*/
|
|
#ifndef _IFADDRS_H
|
|
#define _IFADDRS_H
|
|
|
|
#include <features.h>
|
|
|
|
#ifdef _DEFAULT_SOURCE
|
|
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
struct ifaddrs {
|
|
struct ifaddrs *ifa_next; /* Next item in list */
|
|
const char *ifa_name; /* Name of interface */
|
|
unsigned int ifa_flags; /* Flags from SIOCGIFFLAGS */
|
|
struct sockaddr *ifa_addr; /* Address of interface */
|
|
struct sockaddr *ifa_netmask; /* Netmask of interface */
|
|
struct sockaddr *ifa_dstaddr;
|
|
#define ifa_broadaddr ifa_dstaddr
|
|
void *ifa_data; /* Address-specific data */
|
|
};
|
|
|
|
|
|
int getifaddrs(struct ifaddrs **ifap);
|
|
void freeifaddrs(struct ifaddrs *ifa);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
|
|
#endif
|
|
|
|
|
|
#endif
|