Home | History | Annotate | Download | only in include
      1 /* Copyright (C) 1996, 1997, 1999, 2008 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, write to the Free
     16    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
     17    02111-1307 USA.  */
     18 
     19 /* Define interface to NSS.  This is meant for the interface functions
     20    and for implementors of new services.  */
     21 
     22 #ifndef _NSS_H
     23 #define _NSS_H	1
     24 
     25 #include <features.h>
     26 #include <stdint.h>
     27 
     28 
     29 __BEGIN_DECLS
     30 
     31 /* Possible results of lookup using a nss_* function.  */
     32 enum nss_status
     33 {
     34   NSS_STATUS_TRYAGAIN = -2,
     35   NSS_STATUS_UNAVAIL,
     36   NSS_STATUS_NOTFOUND,
     37   NSS_STATUS_SUCCESS,
     38   NSS_STATUS_RETURN
     39 };
     40 
     41 
     42 /* Data structure used for the 'gethostbyname4_r' function.  */
     43 struct gaih_addrtuple
     44   {
     45     struct gaih_addrtuple *next;
     46     char *name;
     47     int family;
     48     uint32_t addr[4];
     49     uint32_t scopeid;
     50   };
     51 
     52 
     53 /* Overwrite service selection for database DBNAME using specification
     54    in STRING.
     55    This function should only be used by system programs which have to
     56    work around non-existing services (e.e., while booting).
     57    Attention: Using this function repeatedly will slowly eat up the
     58    whole memory since previous selection data cannot be freed.  */
     59 extern int __nss_configure_lookup (__const char *__dbname,
     60 				   __const char *__string) __THROW;
     61 
     62 __END_DECLS
     63 
     64 #endif /* nss.h */
     65