blob: 5e1529eb42ff6e2d1753db15911340ebf3491d1f [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef FCGID_PM_H
#define FCGID_PM_H
#include "fcgid_global.h"
#include "fcgid_conf.h"
typedef struct {
char cgipath[FCGID_PATH_MAX];
char cmdline[FCGID_CMDLINE_MAX];
apr_ino_t inode;
dev_t deviceid;
/* can't reference these via server_rec because some mass vhost
* module may have copied it for per-request customization
*/
int vhost_id;
char server_hostname[32]; /* for logging only; ok to truncate */
uid_t uid; /* For suEXEC */
gid_t gid; /* For suEXEC */
int userdir; /* For suEXEC */
fcgid_cmd_options cmdopts; /* context-specific configuration, other than
* envvars
*/
fcgid_cmd_env cmdenv; /* start the command with these env settings */
} fcgid_command;
void procmgr_init_spawn_cmd(fcgid_command * command, request_rec * r,
fcgid_cmd_conf *cmd_conf);
apr_status_t procmgr_post_spawn_cmd(fcgid_command * command,
request_rec * r);
apr_status_t procmgr_peek_cmd(fcgid_command * command,
server_rec * main_server);
apr_status_t procmgr_finish_notify(server_rec * main_server);
apr_status_t procmgr_child_init(server_rec * main_server,
apr_pool_t * pchild);
apr_status_t procmgr_pre_config(apr_pool_t *p, apr_pool_t *plog,
apr_pool_t *ptemp);
apr_status_t procmgr_post_config(server_rec * main_server,
apr_pool_t * pconf);
apr_status_t procmgr_stop_procmgr(void *dummy);
int procmgr_must_exit(void);
#endif