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

Web服务器

开发平台:

Unix_Linux

  1. /*
  2. ** http.h
  3. **
  4. ** Copyright (c) 1994-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_HTTP_H
  20. #define PHTTPD_HTTP_H
  21. struct connectioninfo;
  22. struct mimeinfo;
  23. #define SVSNONE     0
  24. #define SVSMIMEHOST 1
  25. #define SVSINGET    2
  26. #define MVS_MODE     0x01
  27. #define SVS_MODE     0x02
  28. struct httpinfo
  29. {
  30.     char *method;
  31.     char *url;
  32.     char *orig_url;
  33.     char *request;
  34.     char *orig_request;
  35.     char *version;
  36.     char *prefix;
  37.     char *vs_ipnr;
  38.     int  prelen;
  39.     char *svsname;
  40.     int svstype;
  41.     
  42.     struct mimeinfo *mip;
  43.     struct authinfo *aip;
  44.     /* Result Parameters */
  45.     int length;
  46. };
  47. extern int http_get_request(struct connectioninfo *cip,
  48.     int *keepalive);
  49. extern void http_freeinfo(struct httpinfo *hip);
  50. extern int http_error(struct connectioninfo *cip,
  51.       int code,
  52.       const char *message,
  53.       ...);
  54.     
  55. extern int http_redirect(struct connectioninfo *cip,
  56.  const char *url,
  57.  const char *request,
  58.  const char *orig_req,
  59.  int code);
  60. extern int http_not_modified(struct connectioninfo *cip);
  61. extern int http_precondition_failed(struct connectioninfo *cip);
  62. extern char *http_time_r(const time_t *btp, char *buf, int bufsize);
  63. extern void http_extract_request(char *url, char **requestp);
  64. extern char *http_sendheaders(int fd, struct connectioninfo *cip,
  65.       int code, char *type);
  66. extern void http_sendlastmodified(int fd, time_t ct);
  67. extern void http_sendlang(int, const char *);
  68. #endif