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

Web服务器

开发平台:

Unix_Linux

  1. /*
  2. ** connection.h
  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_CONNECTION_H
  20. #define PHTTPD_CONNECTION_H
  21. struct connectioninfo
  22. {
  23.     mutex_t lock;
  24.     int inuse;
  25.     
  26.     int request_no;
  27.     thread_t tid;
  28.     int fd;
  29.     int bytes;
  30.     dnsinfo_t *server;
  31.     dnsinfo_t *client;
  32.     time_t cn_time; /* start of connection... */
  33.     
  34.     struct httpinfo *hip;
  35.     struct serverinfo *sip;
  36.     
  37.     identinfo_t *ident;
  38. };
  39. extern void cn_start_gc(void);
  40. extern void cn_init(void);
  41. extern struct connectioninfo *cn_new(int fd);
  42. extern void cn_free(struct connectioninfo *cip);
  43. extern int cn_active(void);
  44. extern int cn_closeall(void);
  45. extern int cn_foreach(int (*foreach)(struct connectioninfo *cip, void *misc),
  46.        void *misc);
  47. #endif