nss.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /* Copyright (C) 1996, 1997, 1999, 2008 Free Software Foundation, Inc.
  2. This file is part of the GNU C Library.
  3. The GNU C Library is free software; you can redistribute it and/or
  4. modify it under the terms of the GNU Lesser General Public
  5. License as published by the Free Software Foundation; either
  6. version 2.1 of the License, or (at your option) any later version.
  7. The GNU C Library is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  10. Lesser General Public License for more details.
  11. You should have received a copy of the GNU Lesser General Public
  12. License along with the GNU C Library; if not, write to the Free
  13. Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
  14. 02111-1307 USA. */
  15. /* Define interface to NSS. This is meant for the interface functions
  16. and for implementors of new services. */
  17. #ifndef _NSS_H
  18. #define _NSS_H 1
  19. #include <features.h>
  20. #include <stdint.h>
  21. __BEGIN_DECLS
  22. /* Possible results of lookup using a nss_* function. */
  23. enum nss_status
  24. {
  25. NSS_STATUS_TRYAGAIN = -2,
  26. NSS_STATUS_UNAVAIL,
  27. NSS_STATUS_NOTFOUND,
  28. NSS_STATUS_SUCCESS,
  29. NSS_STATUS_RETURN
  30. };
  31. /* Data structure used for the 'gethostbyname4_r' function. */
  32. struct gaih_addrtuple
  33. {
  34. struct gaih_addrtuple *next;
  35. char *name;
  36. int family;
  37. uint32_t addr[4];
  38. uint32_t scopeid;
  39. };
  40. /* Overwrite service selection for database DBNAME using specification
  41. in STRING.
  42. This function should only be used by system programs which have to
  43. work around non-existing services (e.e., while booting).
  44. Attention: Using this function repeatedly will slowly eat up the
  45. whole memory since previous selection data cannot be freed. */
  46. extern int __nss_configure_lookup (__const char *__dbname,
  47. __const char *__string) __THROW;
  48. __END_DECLS
  49. #endif /* nss.h */