dns.h
上传用户:ladybrid91
上传日期:2007-01-04
资源大小:287k
文件大小:1k
源码类别:

Web服务器

开发平台:

Unix_Linux

  1. /*
  2. ** dns.h DNS (Domain Name Service) lookup routines
  3. **
  4. ** Copyright (c) 1994-1997 Peter Eriksson <pen@signum.se>
  5. **
  6. ** This program is free software; you can redistribute it and/or modify
  7. ** it under the terms of the GNU General Public License as published by
  8. ** the Free Software Foundation; either version 2 of the License, or
  9. ** (at your option) any later version.
  10. **
  11. ** This program is distributed in the hope that it will be useful,
  12. ** but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. ** 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
  17. ** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  18. */
  19. #ifndef PHTTPD_DNS_H
  20. #define PHTTPD_DNS_H
  21. #ifdef IN_DNS_C
  22. typedef struct dnsinfo
  23. {
  24.     mutex_t mtx;
  25.     cond_t cv;
  26.     struct sockaddr_in sin;
  27.     char *hostname;
  28.     char *address;
  29.     int saved_errno;
  30.     int state;
  31. } dnsinfo_t;
  32. #else
  33. typedef void dnsinfo_t;
  34. #endif
  35. extern dnsinfo_t *dns_lookup_name(struct sockaddr_in *sin);
  36. extern dnsinfo_t *dns_lookup_addr(char *name);
  37. extern char *dns_lookup_servername(dnsinfo_t *dip);
  38. extern int dns_get(dnsinfo_t *hip,
  39.    struct sockaddr_in *sin,
  40.    char **hostname,
  41.    char **address,
  42.    int *port);
  43. extern void dns_free(dnsinfo_t *hip);
  44. #endif