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