Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/sys/linux/net/getXXbyYY_r.c')
-rw-r--r--newlib/libc/sys/linux/net/getXXbyYY_r.c292
1 files changed, 0 insertions, 292 deletions
diff --git a/newlib/libc/sys/linux/net/getXXbyYY_r.c b/newlib/libc/sys/linux/net/getXXbyYY_r.c
deleted file mode 100644
index 326df94b7..000000000
--- a/newlib/libc/sys/linux/net/getXXbyYY_r.c
+++ /dev/null
@@ -1,292 +0,0 @@
-/* Copyright (C) 1996-2002, 2003, 2004 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#include <assert.h>
-#include <errno.h>
-#include <stdbool.h>
-#include "nsswitch.h"
-#ifdef USE_NSCD
-# include <nscd/nscd_proto.h>
-#endif
-#ifdef NEED__RES_HCONF
-# include "res_hconf.h"
-#endif
-#ifdef NEED__RES
-# include <resolv.h>
-#endif
-/*******************************************************************\
-|* Here we assume several symbols to be defined: *|
-|* *|
-|* LOOKUP_TYPE - the return type of the function *|
-|* *|
-|* FUNCTION_NAME - name of the non-reentrant function *|
-|* *|
-|* DATABASE_NAME - name of the database the function accesses *|
-|* (e.g., host, services, ...) *|
-|* *|
-|* ADD_PARAMS - additional parameter, can vary in number *|
-|* *|
-|* ADD_VARIABLES - names of additional parameter *|
-|* *|
-|* Optionally the following vars can be defined: *|
-|* *|
-|* NEED_H_ERRNO - an extra parameter will be passed to point to *|
-|* the global `h_errno' variable. *|
-|* *|
-|* NEED__RES - the global _res variable might be used so we *|
-|* will have to initialize it if necessary *|
-|* *|
-|* PREPROCESS - code run before anything else *|
-|* *|
-|* POSTPROCESS - code run after the lookup *|
-|* *|
-\*******************************************************************/
-
-/* To make the real sources a bit prettier. */
-#define REENTRANT_NAME APPEND_R (FUNCTION_NAME)
-#define APPEND_R(name) APPEND_R1 (name)
-#define APPEND_R1(name) name##_r
-#define INTERNAL(name) INTERNAL1 (name)
-#define INTERNAL1(name) __##name
-#define NEW(name) NEW1 (name)
-#define NEW1(name) __new_##name
-
-#ifdef USE_NSCD
-# define NSCD_NAME ADD_NSCD (REENTRANT_NAME)
-# define ADD_NSCD(name) ADD_NSCD1 (name)
-# define ADD_NSCD1(name) __nscd_##name
-# define NOT_USENSCD_NAME ADD_NOT_NSCDUSE (DATABASE_NAME)
-# define ADD_NOT_NSCDUSE(name) ADD_NOT_NSCDUSE1 (name)
-# define ADD_NOT_NSCDUSE1(name) __nss_not_use_nscd_##name
-#endif
-
-#define FUNCTION_NAME_STRING STRINGIZE (FUNCTION_NAME)
-#define REENTRANT_NAME_STRING STRINGIZE (REENTRANT_NAME)
-#define DATABASE_NAME_STRING STRINGIZE (DATABASE_NAME)
-#define STRINGIZE(name) STRINGIZE1 (name)
-#define STRINGIZE1(name) #name
-
-#ifndef DB_LOOKUP_FCT
-# define DB_LOOKUP_FCT CONCAT3_1 (__nss_, DATABASE_NAME, _lookup)
-# define CONCAT3_1(Pre, Name, Post) CONCAT3_2 (Pre, Name, Post)
-# define CONCAT3_2(Pre, Name, Post) Pre##Name##Post
-#endif
-
-/* Sometimes we need to store error codes in the `h_errno' variable. */
-#ifdef NEED_H_ERRNO
-# define H_ERRNO_PARM , int *h_errnop
-# define H_ERRNO_VAR , h_errnop
-# define H_ERRNO_VAR_P h_errnop
-#else
-# define H_ERRNO_PARM
-# define H_ERRNO_VAR
-# define H_ERRNO_VAR_P NULL
-#endif
-
-#ifdef HAVE_AF
-# define AF_VAL af
-#else
-# define AF_VAL AF_INET
-#endif
-
-/* Type of the lookup function we need here. */
-typedef enum nss_status (*lookup_function) (ADD_PARAMS, LOOKUP_TYPE *, char *,
- size_t, int * H_ERRNO_PARM);
-
-/* The lookup function for the first entry of this service. */
-extern int DB_LOOKUP_FCT (service_user **nip, const char *name, void **fctp)
- internal_function;
-libc_hidden_proto (DB_LOOKUP_FCT)
-
-
-int
-INTERNAL (REENTRANT_NAME) (ADD_PARAMS, LOOKUP_TYPE *resbuf, char *buffer,
- size_t buflen, LOOKUP_TYPE **result H_ERRNO_PARM)
-{
- static service_user *startp;
- static lookup_function start_fct;
- service_user *nip;
- union
- {
- lookup_function l;
- void *ptr;
- } fct;
-
- int no_more;
- enum nss_status status = NSS_STATUS_UNAVAIL;
-#ifdef USE_NSCD
- int nscd_status;
-#endif
-#ifdef NEED_H_ERRNO
- bool any_service = false;
-#endif
-
-#ifdef PREPROCESS
- PREPROCESS;
-#endif
-
-#ifdef HANDLE_DIGITS_DOTS
- switch (__nss_hostname_digits_dots (name, resbuf, &buffer, NULL,
- buflen, result, &status, AF_VAL,
- H_ERRNO_VAR_P))
- {
- case -1:
- return errno;
- case 1:
- goto done;
- }
-#endif
-
-#ifdef USE_NSCD
- if (NOT_USENSCD_NAME > 0 && ++NOT_USENSCD_NAME > NSS_NSCD_RETRY)
- NOT_USENSCD_NAME = 0;
-
- if (!NOT_USENSCD_NAME)
- {
- nscd_status = NSCD_NAME (ADD_VARIABLES, resbuf, buffer, buflen, result
- H_ERRNO_VAR);
- if (nscd_status >= 0)
- return nscd_status;
- }
-#endif
-
- if (startp == NULL)
- {
- no_more = DB_LOOKUP_FCT (&nip, REENTRANT_NAME_STRING, &fct.ptr);
- if (no_more)
- startp = (service_user *) -1l;
- else
- {
- startp = nip;
- start_fct = fct.l;
-
-#ifdef NEED__RES
- /* The resolver code will really be used so we have to
- initialize it. */
- if (__res_maybe_init (&_res, 0) == -1)
- {
- *h_errnop = NETDB_INTERNAL;
- *result = NULL;
- return errno;
- }
-#endif /* need _res */
-#ifdef NEED__RES_HCONF
- if (!_res_hconf.initialized)
- _res_hconf_init ();
-#endif /* need _res_hconf */
- }
- }
- else
- {
- fct.l = start_fct;
- no_more = (nip = startp) == (service_user *) -1l;
- }
-
- while (no_more == 0)
- {
-#ifdef NEED_H_ERRNO
- any_service = true;
-#endif
-
- status = DL_CALL_FCT (fct.l, (ADD_VARIABLES, resbuf, buffer, buflen,
- &errno H_ERRNO_VAR));
-
- /* The status is NSS_STATUS_TRYAGAIN and errno is ERANGE the
- provided buffer is too small. In this case we should give
- the user the possibility to enlarge the buffer and we should
- not simply go on with the next service (even if the TRYAGAIN
- action tells us so). */
- if (status == NSS_STATUS_TRYAGAIN
-#ifdef NEED_H_ERRNO
- && *h_errnop == NETDB_INTERNAL
-#endif
- && errno == ERANGE)
- break;
-
- no_more = __nss_next (&nip, REENTRANT_NAME_STRING,
- &fct.ptr, status, 0);
- }
-
-#ifdef HANDLE_DIGITS_DOTS
-done:
-#endif
- *result = status == NSS_STATUS_SUCCESS ? resbuf : NULL;
-#ifdef NEED_H_ERRNO
- if (status != NSS_STATUS_SUCCESS && ! any_service)
- /* We were not able to use any service. */
- *h_errnop = NO_RECOVERY;
-#endif
-#ifdef POSTPROCESS
- POSTPROCESS;
-#endif
-
- int res;
- if (status == NSS_STATUS_SUCCESS || status == NSS_STATUS_NOTFOUND)
- res = 0;
- /* Don't pass back ERANGE if this is not for a too-small buffer. */
- else if (errno == ERANGE && status != NSS_STATUS_TRYAGAIN)
- res = EINVAL;
-#ifdef NEED_H_ERRNO
- /* These functions only set errno if h_errno is NETDB_INTERNAL. */
- else if (status == NSS_STATUS_TRYAGAIN && *h_errnop != NETDB_INTERNAL)
- res = EAGAIN;
-#endif
- else
- return errno;
-
- __set_errno (res);
- return res;
-}
-
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1_2)
-#define OLD(name) OLD1 (name)
-#define OLD1(name) __old_##name
-
-int
-attribute_compat_text_section
-OLD (REENTRANT_NAME) (ADD_PARAMS, LOOKUP_TYPE *resbuf, char *buffer,
- size_t buflen, LOOKUP_TYPE **result H_ERRNO_PARM)
-{
- int ret = INTERNAL (REENTRANT_NAME) (ADD_VARIABLES, resbuf, buffer,
- buflen, result H_ERRNO_VAR);
-
- if (ret != 0 || result == NULL)
- ret = -1;
-
- return ret;
-}
-
-#define do_symbol_version(real, name, version) \
- compat_symbol (libc, real, name, version)
-do_symbol_version (OLD (REENTRANT_NAME), REENTRANT_NAME, GLIBC_2_0);
-#endif
-
-/* As INTERNAL (REENTRANT_NAME) may be hidden, we need an alias
- in between so that the REENTRANT_NAME@@GLIBC_2.1.2 is not
- hidden too. */
-strong_alias (INTERNAL (REENTRANT_NAME), NEW (REENTRANT_NAME));
-
-#define do_default_symbol_version(real, name, version) \
- versioned_symbol (libc, real, name, version)
-do_default_symbol_version (NEW (REENTRANT_NAME),
- REENTRANT_NAME, GLIBC_2_1_2);
-
-static_link_warning (REENTRANT_NAME)