powerpc: Fix ifuncmain6pie failure with GCC 4.9
[platform/upstream/glibc.git] / nis / nss-nis.h
1 /* Copyright (C) 1996-2015 Free Software Foundation, Inc.
2    This file is part of the GNU C Library.
3
4    The GNU C Library is free software; you can redistribute it and/or
5    modify it under the terms of the GNU Lesser General Public
6    License as published by the Free Software Foundation; either
7    version 2.1 of the License, or (at your option) any later version.
8
9    The GNU C Library is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12    Lesser General Public License for more details.
13
14    You should have received a copy of the GNU Lesser General Public
15    License along with the GNU C Library; if not, see
16    <http://www.gnu.org/licenses/>.  */
17
18 #ifndef _NIS_NSS_NIS_H
19 #define _NIS_NSS_NIS_H  1
20
21 #include <rpcsvc/ypclnt.h>
22
23 #include "nsswitch.h"
24
25
26 /* Convert YP error number to NSS error number.  */
27 extern const enum nss_status __yperr2nss_tab[] attribute_hidden;
28 extern const unsigned int __yperr2nss_count attribute_hidden;
29
30 static inline enum nss_status
31 yperr2nss (int errval)
32 {
33   if ((unsigned int) errval >= __yperr2nss_count)
34     return NSS_STATUS_UNAVAIL;
35   return __yperr2nss_tab[(unsigned int) errval];
36 }
37
38
39 struct response_t
40 {
41   struct response_t *next;
42   size_t size;
43   char mem[0];
44 };
45
46 typedef struct intern_t
47 {
48   struct response_t *start;
49   struct response_t *next;
50   size_t offset;
51 } intern_t;
52
53
54 extern int _nis_saveit (int instatus, char *inkey, int inkeylen, char *inval,
55                         int invallen, char *indata) attribute_hidden;
56
57
58 #endif /* nis/nss-nis.h */