mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-27 11:43:34 +08:00
4009ddc692
from `freeaddrinfo'. `getifaddrs' and `freeifaddrs' are not in POSIX, they should not be exposed along `freeaddrinfo' (through `__check_pf') which is POSIX. * include/ifaddrs.h (__getifaddrs, __freeifaddrs): New declarations, and use libc_hidden_def on them. * inet/ifaddrs.c (__getifaddrs, __freeifaddrs): Use libc_hidden_def on them. * sysdeps/gnu/ifaddrs.c (__getifaddrs, __freeifaddrs): Likewise. * inet/check_pf.c (__check_pf): Use __getifaddrs and __freeifaddrs instead of getifaddrs and freeifaddrs.
43 lines
970 B
C
43 lines
970 B
C
#ifndef _IFADDRS_H
|
|
#include <inet/ifaddrs.h>
|
|
|
|
# ifndef _ISOMAC
|
|
|
|
#include <stdbool.h>
|
|
#include <stdint.h>
|
|
|
|
libc_hidden_proto (getifaddrs)
|
|
libc_hidden_proto (freeifaddrs)
|
|
|
|
extern int __getifaddrs (struct ifaddrs **__ifap);
|
|
libc_hidden_proto (__getifaddrs)
|
|
extern void __freeifaddrs (struct ifaddrs *__ifa);
|
|
libc_hidden_proto (__freeifaddrs)
|
|
|
|
struct in6addrinfo
|
|
{
|
|
enum {
|
|
in6ai_deprecated = 1,
|
|
in6ai_homeaddress = 2
|
|
} flags:8;
|
|
uint8_t prefixlen;
|
|
uint16_t :16;
|
|
uint32_t index;
|
|
uint32_t addr[4];
|
|
};
|
|
|
|
extern void __check_pf (bool *seen_ipv4, bool *seen_ipv6,
|
|
struct in6addrinfo **in6ai, size_t *in6ailen)
|
|
attribute_hidden;
|
|
extern void __free_in6ai (struct in6addrinfo *in6ai) attribute_hidden;
|
|
extern void __check_native (uint32_t a1_index, int *a1_native,
|
|
uint32_t a2_index, int *a2_native)
|
|
attribute_hidden;
|
|
|
|
#if IS_IN (nscd)
|
|
extern uint32_t __bump_nl_timestamp (void) attribute_hidden;
|
|
#endif
|
|
|
|
# endif /* !_ISOMAC */
|
|
#endif /* ifaddrs.h */
|