(__nss_lookup_function): En/Decrypt cached function pointers.
[glibc/history.git] / nscd / gethstbynm3_r.c
bloba917f893b1b0871c82da51e713257c14c030cef7
1 /* Copyright (C) 1996-1998, 2000, 2005, 2007 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3 Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published
7 by the Free Software Foundation; version 2 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software Foundation,
17 Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
19 #include <ctype.h>
20 #include <errno.h>
21 #include <netdb.h>
22 #include <string.h>
23 #include <arpa/inet.h>
24 #include <netinet/in.h>
27 #define LOOKUP_TYPE struct hostent
28 #define FUNCTION_NAME gethostbyname3
29 #define FUNCTION2_NAME gethostbyname2
30 #define DATABASE_NAME hosts
31 #define ADD_PARAMS const char *name, int af
32 #define EXTRA_PARAMS , int32_t *ttlp, char **canonp
33 #define ADD_VARIABLES name, af
34 #define EXTRA_VARIABLES , ttlp, canonp
35 #define NEED_H_ERRNO 1
36 #define NEED__RES_HCONF 1
38 #define HANDLE_DIGITS_DOTS 1
39 #define HAVE_LOOKUP_BUFFER 1
40 #define HAVE_AF 1
42 #define __inet_aton inet_aton
44 #include "../nss/getXXbyYY_r.c"
47 int
48 __gethostbyname2_r (const char *name, int af, struct hostent *ret, char *buf,
49 size_t buflen, struct hostent **result, int *h_errnop)
51 return __gethostbyname3_r (name, af, ret, buf, buflen, result, h_errnop,
52 NULL, NULL);