00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00025 #ifndef BEOSD_H
00026 #define BEOSD_H
00027
00028 #include "httpd.h"
00029 #include "ap_listen.h"
00030
00031
00032
00033
00034 #ifndef DEFAULT_USER
00035 #define DEFAULT_USER "#-1"
00036 #endif
00037 #ifndef DEFAULT_GROUP
00038 #define DEFAULT_GROUP "#"
00039 #endif
00040
00041 typedef struct {
00042 char *user_name;
00043 uid_t user_id;
00044 gid_t group_id;
00045 } beosd_config_rec;
00046 extern beosd_config_rec beosd_config;
00047
00048 void beosd_detach(void);
00049 int beosd_setup_child(void);
00050 void beosd_pre_config(void);
00051 AP_DECLARE(const char *) beosd_set_user (cmd_parms *cmd, void *dummy,
00052 const char *arg);
00053 AP_DECLARE(const char *) beosd_set_group(cmd_parms *cmd, void *dummy,
00054 const char *arg);
00055 AP_DECLARE(apr_status_t) beosd_accept(void **accepted, ap_listen_rec *lr,
00056 apr_pool_t *ptrans);
00057
00058 #define beosd_killpg(x, y) (kill (-(x), (y)))
00059 #define ap_os_killpg(x, y) (kill (-(x), (y)))
00060
00061 #define BEOS_DAEMON_COMMANDS \
00062 AP_INIT_TAKE1("User", beosd_set_user, NULL, RSRC_CONF, \
00063 "Effective user id for this server (NO-OP)"), \
00064 AP_INIT_TAKE1("Group", beosd_set_group, NULL, RSRC_CONF, \
00065 "Effective group id for this server (NO-OP)")
00066
00067 #endif
00068