diff options
author | Ulrich Drepper <drepper@redhat.com> | 2000-07-21 04:12:25 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2000-07-21 04:12:25 +0000 |
commit | 2f54c82dacba646139a773ab43fc2cdb47ee1f5b (patch) | |
tree | 083e05712adaa46da2ff502b6382b9eeaa0420a1 /hesiod/hesiod.h | |
parent | 89bc5366ba0418306d70becabe511a3f56a084e3 (diff) | |
download | glibc-2f54c82dacba646139a773ab43fc2cdb47ee1f5b.tar glibc-2f54c82dacba646139a773ab43fc2cdb47ee1f5b.tar.gz glibc-2f54c82dacba646139a773ab43fc2cdb47ee1f5b.tar.bz2 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.h | 77 |
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*/ |