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

Web服务器

开发平台:

Unix_Linux

  1. /*
  2. ** hostcache.h
  3. **
  4. ** Copyright (c) 1995 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_HOSTCACHE_H
  20. #define PHTTPD_HOSTCACHE_H
  21. #include <sys/types.h>
  22. #include <sys/socket.h>
  23. #include <netinet/in.h>
  24. #include <arpa/inet.h>
  25. #include <netdb.h>
  26. struct hostinfo
  27. {
  28.     struct hostent hb;
  29.     char buf[768];
  30. };
  31. extern void hostcache_init(void);
  32. extern void *hostcache_lookup_byname(char *hostname,
  33.      unsigned int flags,
  34.      struct hostent **hep);
  35. extern void *hostcache_lookup_byaddr(void *addr,
  36.      unsigned int flags,
  37.      struct hostent **hep);
  38.     
  39. extern void hostcache_release(void *key);
  40. extern int hostcache_getstats_byname(cachestat_t *csp);
  41. extern int hostcache_getstats_byaddr(cachestat_t *csp);
  42. extern int hostcache_refresh;
  43. extern int hostcache_ttl;
  44. extern int hostcache_gc_interval;
  45. extern int hostcache_size;
  46. #endif