| @@ -168,47 +168,106 @@ · 167 unmodified lines |
| 168 | 168 | |
| 169 | 169 | /* If we did not see any headers from any supported C libraries, |
| 170 | 170 | * or we are being included in the kernel, then define everything |
| 171 | | − * that we need. */ |
| 171 | + * that we need. Check for previous __UAPI_* definitions to give |
| 172 | + * unsupported C libraries a way to opt out of any kernel definition. */ |
| 172 | 173 | #else /* !defined(__GLIBC__) */ |
| 173 | 174 | |
| 174 | 175 | /* Definitions for if.h */ |
| 176 | +#ifndef __UAPI_DEF_IF_IFCONF |
| 175 | 177 | #define __UAPI_DEF_IF_IFCONF 1 |
| 178 | +#endif |
| 179 | +#ifndef __UAPI_DEF_IF_IFMAP |
| 176 | 180 | #define __UAPI_DEF_IF_IFMAP 1 |
| 181 | +#endif |
| 182 | +#ifndef __UAPI_DEF_IF_IFNAMSIZ |
| 177 | 183 | #define __UAPI_DEF_IF_IFNAMSIZ 1 |
| 184 | +#endif |
| 185 | +#ifndef __UAPI_DEF_IF_IFREQ |
| 178 | 186 | #define __UAPI_DEF_IF_IFREQ 1 |
| 187 | +#endif |
| 179 | 188 | /* Everything up to IFF_DYNAMIC, matches net/if.h until glibc 2.23 */ |
| 189 | +#ifndef __UAPI_DEF_IF_NET_DEVICE_FLAGS |
| 180 | 190 | #define __UAPI_DEF_IF_NET_DEVICE_FLAGS 1 |
| 191 | +#endif |
| 181 | 192 | /* For the future if glibc adds IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO */ |
| 193 | +#ifndef __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO |
| 182 | 194 | #define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 1 |
| 195 | +#endif |
| 183 | 196 | |
| 184 | 197 | /* Definitions for in.h */ |
| 198 | +#ifndef __UAPI_DEF_IN_ADDR |
| 185 | 199 | #define __UAPI_DEF_IN_ADDR 1 |
| 200 | +#endif |
| 201 | +#ifndef __UAPI_DEF_IN_IPPROTO |
| 186 | 202 | #define __UAPI_DEF_IN_IPPROTO 1 |
| 203 | +#endif |
| 204 | +#ifndef __UAPI_DEF_IN_PKTINFO |
| 187 | 205 | #define __UAPI_DEF_IN_PKTINFO 1 |
| 206 | +#endif |
| 207 | +#ifndef __UAPI_DEF_IP_MREQ |
| 188 | 208 | #define __UAPI_DEF_IP_MREQ 1 |
| 209 | +#endif |
| 210 | +#ifndef __UAPI_DEF_SOCKADDR_IN |
| 189 | 211 | #define __UAPI_DEF_SOCKADDR_IN 1 |
| 212 | +#endif |
| 213 | +#ifndef __UAPI_DEF_IN_CLASS |
| 190 | 214 | #define __UAPI_DEF_IN_CLASS 1 |
| 215 | +#endif |
| 191 | 216 | |
| 192 | 217 | /* Definitions for in6.h */ |
| 218 | +#ifndef __UAPI_DEF_IN6_ADDR |
| 193 | 219 | #define __UAPI_DEF_IN6_ADDR 1 |
| 220 | +#endif |
| 221 | +#ifndef __UAPI_DEF_IN6_ADDR_ALT |
| 194 | 222 | #define __UAPI_DEF_IN6_ADDR_ALT 1 |
| 223 | +#endif |
| 224 | +#ifndef __UAPI_DEF_SOCKADDR_IN6 |
| 195 | 225 | #define __UAPI_DEF_SOCKADDR_IN6 1 |
| 226 | +#endif |
| 227 | +#ifndef __UAPI_DEF_IPV6_MREQ |
| 196 | 228 | #define __UAPI_DEF_IPV6_MREQ 1 |
| 229 | +#endif |
| 230 | +#ifndef __UAPI_DEF_IPPROTO_V6 |
| 197 | 231 | #define __UAPI_DEF_IPPROTO_V6 1 |
| 232 | +#endif |
| 233 | +#ifndef __UAPI_DEF_IPV6_OPTIONS |
| 198 | 234 | #define __UAPI_DEF_IPV6_OPTIONS 1 |
| 235 | +#endif |
| 236 | +#ifndef __UAPI_DEF_IN6_PKTINFO |
| 199 | 237 | #define __UAPI_DEF_IN6_PKTINFO 1 |
| 238 | +#endif |
| 239 | +#ifndef __UAPI_DEF_IP6_MTUINFO |
| 200 | 240 | #define __UAPI_DEF_IP6_MTUINFO 1 |
| 241 | +#endif |
| 201 | 242 | |
| 202 | 243 | /* Definitions for ipx.h */ |
| 244 | +#ifndef __UAPI_DEF_SOCKADDR_IPX |
| 203 | 245 | #define __UAPI_DEF_SOCKADDR_IPX 1 |
| 246 | +#endif |
| 247 | +#ifndef __UAPI_DEF_IPX_ROUTE_DEFINITION |
| 204 | 248 | #define __UAPI_DEF_IPX_ROUTE_DEFINITION 1 |
| 249 | +#endif |
| 250 | +#ifndef __UAPI_DEF_IPX_INTERFACE_DEFINITION |
| 205 | 251 | #define __UAPI_DEF_IPX_INTERFACE_DEFINITION 1 |
| 252 | +#endif |
| 253 | +#ifndef __UAPI_DEF_IPX_CONFIG_DATA |
| 206 | 254 | #define __UAPI_DEF_IPX_CONFIG_DATA 1 |
| 255 | +#endif |
| 256 | +#ifndef __UAPI_DEF_IPX_ROUTE_DEF |
| 207 | 257 | #define __UAPI_DEF_IPX_ROUTE_DEF 1 |
| 258 | +#endif |
| 208 | 259 | |
| 209 | 260 | /* Definitions for xattr.h */ |
| 261 | +#ifndef __UAPI_DEF_XATTR |
| 210 | 262 | #define __UAPI_DEF_XATTR 1 |
| 263 | +#endif |
| 211 | 264 | |
| 212 | 265 | #endif /* __GLIBC__ */ |
| 213 | 266 | |
| 267 | +/* Definitions for if_ether.h */ |
| 268 | +/* allow libcs like musl to deactivate this, glibc does not implement this. */ |
| 269 | +#ifndef __UAPI_DEF_ETHHDR |
| 270 | +#define __UAPI_DEF_ETHHDR 1 |
| 271 | +#endif |
| 272 | + |
| 214 | 273 | #endif /* _UAPI_LIBC_COMPAT_H */ |