summary refs log tree commit diff
path: root/hesiod/hesiod.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-07-21 04:12:25 +0000
committerUlrich Drepper <drepper@redhat.com>2000-07-21 04:12:25 +0000
commit2f54c82dacba646139a773ab43fc2cdb47ee1f5b (patch)
tree083e05712adaa46da2ff502b6382b9eeaa0420a1 /hesiod/hesiod.h
parent89bc5366ba0418306d70becabe511a3f56a084e3 (diff)
downloadglibc-2f54c82dacba646139a773ab43fc2cdb47ee1f5b.tar.gz
glibc-2f54c82dacba646139a773ab43fc2cdb47ee1f5b.tar.xz
glibc-2f54c82dacba646139a773ab43fc2cdb47ee1f5b.zip
Update.
	* elf/Makefile (tests): Add nodlopen.  Add rules to generate nodlopen.
	* include/dlfcn.h: Define __RTLD_DLOPEN.
	* elf/dl-load.c (_dl_map_object_from_fd): If DF_1_NOOPEN is set
	and this is a dlopen() call, do not load the binary.
	* dlfcn/dlopen.c: Add __RTLD_DLOPEN to mode passed down to _dl_open.
	* dlfcn/dlopenold.c: Likewise.
	* configure.in: Add test for -z nodelete option.
	* config.make.in: Define have-z-nodelete with libc_cv_z_nodelete.

2000-07-20  Mark Kettenis  <kettenis@gnu.org>

	Make Hesiod NSS module thread-safe.

	* hesiod/README.hesiod: Update.

	* hesiod/Versions [GLIBC_2.2]: Add _nss_hesiod_getservbyport_r,
	_nss_hesiod_setprotoent, _nss_hesiod_endprotoent,
	_nss_hesiod_getprotobyname_r, and _nss_hesiod_getprotobynumber_r.
	* hesiod/Makefile (libnss_hesiod-routines): Add hesiod-init and
	hesiod-proto.
	* hesiod/nss_hesiod/hesiod-init.c: New file.
	* hesiod/nss_hesiod/hesiod-pwd.c: Rewritten for thread-safeness.
	* hesiod/nss_hesiod/hesiod-grp.c: Likewise.
	* hesiod/nss_hesiod/nss_hesiod.h: New file.
	* hesiod/nss_hesiod/hesiod-service.c
	(_nss_hesiod_getservbyport_r): New function.  Provide support for
	looking up services by port number.
	* hesiod/nss_hesiod/hesiod-proto.c: New file.

	* hesiod/hesiod.c: Update from BIND 8.2.3-T5B.
	* hesiod/hesiod.h: Likewise.
	* hesiod/hesiod_p.h: Likewise.

2000-07-20  Mark Kettenis  <kettenis@gnu.org>

	Fix problems with `struct __res_state' getting too big.
	* resolv/resolv.h (struct __sockaddr_in): New definition.
	(struct __res_state): Use __sockaddr_in instead of sockaddr_in in
	the private parts of the structure to save some space.
	* resolv/res_send.c (res_nsend): Cast &EXT(statp).nsaddrs[ns] to
	(struct sockaddr_in *) in call to sock_eq.
	Use memcpy to copy statp->nsaddr_list[ns] to &EXT(statp).nsaddrs[ns].

2000-07-20  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/mach/hurd/dl-sysdep.c: Likewise.
Diffstat (limited to 'hesiod/hesiod.h')
-rw-r--r--hesiod/hesiod.h77
1 files changed, 22 insertions, 55 deletions
diff --git a/hesiod/hesiod.h b/hesiod/hesiod.h
index 9c3d323811..c4711349c1 100644
--- a/hesiod/hesiod.h
+++ b/hesiod/hesiod.h
@@ -1,7 +1,5 @@
-/* $Id$ */
-
 /*
- * Copyright (c) 1996 by Internet Software Consortium.
+ * Copyright (c) 1996,1999 by Internet Software Consortium.
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -17,57 +15,26 @@
  * SOFTWARE.
  */
 
-#ifndef HESIOD__INCLUDED
-#define HESIOD__INCLUDED
-
-#include <sys/types.h>
-#include <pwd.h>
-#include <netdb.h>
-
-/* Application-visible define to signal that we have the new interfaces. */
-#define HESIOD_INTERFACES
-
-struct hesiod_postoffice {
-  char *hesiod_po_type;
-  char *hesiod_po_host;
-  char *hesiod_po_name;
-};
-
-int hesiod_init(void **context);
-void hesiod_end(void *context);
-char *hesiod_to_bind(void *context, const char *name, const char *type);
-char **hesiod_resolve(void *context, const char *name, const char *type);
-void hesiod_free_list(void *context, char **list);
-struct passwd *hesiod_getpwnam(void *context, const char *name);
-struct passwd *hesiod_getpwuid(void *context, uid_t uid);
-void hesiod_free_passwd(void *context, struct passwd *pw);
-struct servent *hesiod_getservbyname(void *context, const char *name,
-				     const char *proto);
-void hesiod_free_servent(void *context, struct servent *serv);
-struct hesiod_postoffice *hesiod_getmailhost(void *context, const char *user);
-void hesiod_free_postoffice(void *context, struct hesiod_postoffice *po);
-
-/* Compatibility stuff. */
-
-#define HES_ER_UNINIT	-1	/* uninitialized */
-#define HES_ER_OK	0	/* no error */
-#define HES_ER_NOTFOUND	1	/* Hesiod name not found by server */
-#define HES_ER_CONFIG	2	/* local problem (no config file?) */
-#define HES_ER_NET	3	/* network problem */
-
-struct hes_postoffice {
-  char *po_type;
-  char *po_host;
-  char *po_name;
-};
+/*
+ * This file is primarily maintained by <tytso@mit.edu> and <ghudson@mit.edu>.
+ */
 
-int hes_init(void);
-char *hes_to_bind(const char *name, const char *type);
-char **hes_resolve(const char *name, const char *type);
-int hes_error(void);
-struct passwd *hes_getpwnam(const char *name);
-struct passwd *hes_getpwuid(uid_t uid);
-struct servent *hes_getservbyname(const char *name, const char *proto);
-struct hes_postoffice *hes_getmailhost(const char *name);
+/*
+ * $BINDId: hesiod.h,v 1.7 1999/01/08 19:22:45 vixie Exp $
+ */
 
-#endif
+#ifndef _HESIOD_H_INCLUDED
+#define _HESIOD_H_INCLUDED
+
+int		hesiod_init __P((void **context));
+void		hesiod_end __P((void *context));
+char *		hesiod_to_bind __P((void *context, const char *name,
+				    const char *type));
+char **		hesiod_resolve __P((void *context, const char *name,
+				    const char *type));
+void		hesiod_free_list __P((void *context, char **list));
+struct __res_state * __hesiod_res_get __P((void *context));
+void		__hesiod_res_set __P((void *context, struct __res_state *,
+				      void (*)(void *)));
+
+#endif /*_HESIOD_H_INCLUDED*/