
1: /* Copyright (C) 1993, 1995-1998, 2006 Free Software Foundation, Inc. 2: This file is part of the GNU C Library. 3: Contributed by David Mosberger (davidm@azstarnet.com). 4: 5: The GNU C Library is free software; you can redistribute it and/or 6: modify it under the terms of the GNU Lesser General Public 7: License as published by the Free Software Foundation; either 8: version 2.1 of the License, or (at your option) any later version. 9: 10: The GNU C Library 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 GNU 13: Lesser General Public License for more details. 14: 15: You should have received a copy of the GNU Lesser General Public 16: License along with the GNU C Library; if not, write to the Free 17: Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 18: 02111-1307 USA. */ 19: 20: #ifndef _RES_HCONF_H_ 21: #define _RES_HCONF_H_ 22: 23: #include <netdb.h> 24: 25: #define TRIMDOMAINS_MAX 4 26: 27: struct hconf 28: { 29: int initialized; 30: int unused1; 31: int unused2[4]; 32: int num_trimdomains; 33: const char *trimdomain[TRIMDOMAINS_MAX]; 34: unsigned int flags; 35: # define HCONF_FLAG_INITED (1 << 0) /* initialized? */ 36: # define HCONF_FLAG_SPOOF (1 << 1) /* refuse spoofed addresses */ 37: # define HCONF_FLAG_SPOOFALERT (1 << 2) /* syslog warning of spoofed */ 38: # define HCONF_FLAG_REORDER (1 << 3) /* list best address first */ 39: # define HCONF_FLAG_MULTI (1 << 4) /* see comments for gethtbyname() */ 40: }; 41: extern struct hconf _res_hconf; 42: 43: extern void _res_hconf_init (void); 44: extern void _res_hconf_trim_domain (char *domain); 45: extern void _res_hconf_trim_domains (struct hostent *hp); 46: extern void _res_hconf_reorder_addrs (struct hostent *hp); 47: 48: #endif /* _RES_HCONF_H_ */