glibc/inet/Versions
Roland McGrath 7f1deee65e Added <ifaddrs.h> interface with functions getifaddrs', freeifaddrs'.
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.
2002-07-24 22:56:44 +00:00

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;
}
}