mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
7f1deee65e
This implementation supports only IPv4. * inet/ifaddrs.h: New file. * sysdeps/generic/ifaddrs.c: New file. * sysdeps/gnu/ifaddrs.c: New file. * inet/test-ifaddrs.c: New file. * inet/Makefile (routines): Add ifaddrs. (headers): Add ifaddrs.h here. (tests): Add test-ifaddrs. * inet/Versions (GLIBC_2.3): New set, add getifaddrs and freeifaddrs. * resolv/res_hconf.c (_res_hconf_reorder_addrs): Use an explicit socket call to get an AF_INET socket, instead of using __opensock. The SIOCGIFNETMASK ioctl will work only with a PF_INET socket. * sysdeps/generic/ifreq.h (__ifreq): Take third argument SOCKFD, if not -1 use it instead of calling __opensock. * sysdeps/unix/sysv/linux/ifreq.h (__ifreq): Likewise. * sysdeps/mach/hurd/ifreq.h (__ifreq): Take new argument and ignore it. * resolv/res_hconf.c (_res_hconf_reorder_addrs): Pass new argument. * sysdeps/mach/hurd/ifreq.h: New file. * sysdeps/generic/ifreq.h (__if_freereq): Take second argument NUM_IFS. * sysdeps/unix/sysv/linux/ifreq.h (__if_freereq): Likewise. * resolv/res_hconf.c (_res_hconf_reorder_addrs): Update caller.
79 lines
2.2 KiB
Plaintext
79 lines
2.2 KiB
Plaintext
libc {
|
|
GLIBC_2.0 {
|
|
# functions with required interface outside normal name space
|
|
__ivaliduser; __check_rhosts_file; __rcmd_errstr;
|
|
|
|
# variables in normal name space
|
|
rexecoptions;
|
|
|
|
# e*
|
|
endaliasent; endhostent; endnetent; endnetgrent; endprotoent; endrpcent;
|
|
endservent;
|
|
|
|
# e*
|
|
ether_aton; ether_aton_r; ether_hostton; ether_line; ether_ntoa;
|
|
ether_ntoa_r; ether_ntohost;
|
|
|
|
# g*
|
|
getaliasbyname; getaliasbyname_r; getaliasent; getaliasent_r;
|
|
getdomainname; gethostbyaddr; gethostbyaddr_r; gethostbyname;
|
|
gethostbyname2; gethostbyname2_r; gethostbyname_r; gethostent;
|
|
gethostent_r; getnetbyaddr; getnetbyaddr_r; getnetbyname;
|
|
getnetbyname_r; getnetent; getnetent_r; getnetgrent; getnetgrent_r;
|
|
getprotobyname; getprotobyname_r; getprotobynumber;
|
|
getprotobynumber_r; getprotoent; getprotoent_r; getrpcbyname;
|
|
getrpcbyname_r; getrpcbynumber; getrpcbynumber_r; getrpcent; getrpcent_r;
|
|
getrpcport; getservbyname; getservbyname_r; getservbyport;
|
|
getservbyport_r; getservent; getservent_r;
|
|
|
|
# h*
|
|
htonl; htons;
|
|
|
|
# i*
|
|
inet_addr; inet_aton; inet_lnaof; inet_makeaddr; inet_netof; inet_network;
|
|
inet_nsap_addr; inet_nsap_ntoa; inet_ntoa; inet_ntop; inet_pton; innetgr;
|
|
iruserok;
|
|
|
|
# n*
|
|
ntohl; ntohs;
|
|
|
|
# r*
|
|
rcmd; rexec; rresvport; ruserok; ruserpass;
|
|
|
|
# s*
|
|
setaliasent; setnetent; setnetgrent; setprotoent; setrpcent; setservent;
|
|
}
|
|
GLIBC_2.1 {
|
|
# variables in normal name space
|
|
in6addr_any; in6addr_loopback;
|
|
|
|
# i*
|
|
if_freenameindex; if_indextoname; if_nameindex; if_nametoindex;
|
|
}
|
|
GLIBC_2.1.2 {
|
|
# g*
|
|
getaliasbyname_r; getaliasent_r; gethostbyaddr_r; gethostbyname2_r;
|
|
gethostbyname_r; gethostent_r; getnetbyaddr_r; getnetbyname_r;
|
|
getnetent_r; getnetgrent_r; getprotobyname_r; getprotobynumber_r;
|
|
getprotoent_r; getrpcbyname_r; getrpcbynumber_r; getrpcent_r;
|
|
getservbyname_r;
|
|
}
|
|
GLIBC_2.2 {
|
|
# i*
|
|
iruserok_af;
|
|
# r*
|
|
rcmd_af; rexec_af; rresvport_af; ruserok_af;
|
|
}
|
|
GLIBC_2.3 {
|
|
# f*
|
|
freeifaddrs;
|
|
# g*
|
|
getifaddrs;
|
|
}
|
|
GLIBC_PRIVATE {
|
|
# functions used in other libraries
|
|
__internal_endnetgrent; __internal_getnetgrent_r;
|
|
__internal_setnetgrent;
|
|
}
|
|
}
|