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

Web服务器

开发平台:

Unix_Linux

  1. /*
  2. ** modules.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_MODULES_H
  20. #define PHTTPD_MODULES_H
  21. #include <time.h>
  22. #include <synch.h>
  23. struct connectioninfo;
  24. struct modinfo
  25. {
  26.     char *name;
  27.     
  28.     void *libp;
  29.     time_t mtime;
  30.     int update;
  31.     int use;
  32.     mutex_t lock;
  33.     
  34.     int (*pm_init)(const char **argv);
  35.     
  36.     void (*pm_exit)(void);
  37.     
  38.     int (*pm_request)(struct connectioninfo *cip);
  39.     int (*pm_auth)(struct authinfo *aip, struct connectioninfo *cip,
  40.    const char *domain);
  41. };
  42. extern void md_init(void);
  43. extern int md_release(void *key);
  44. extern struct modinfo *md_load(const char *name, void **key);
  45. extern int md_foreach(int (*fcnp)(struct modinfo *mp, void *misc), void *misc);
  46. extern const char *md_error(void);
  47. /* Module interfaces */
  48. extern int pm_init(const char **argv);
  49. extern void pm_exit(void);
  50. extern int pm_request(struct connectioninfo *cip);
  51. extern int pm_auth(struct authinfo *aip, struct connectioninfo *cip,
  52.    const char *domain);
  53. #endif