mpm_winnt.h revision e978097e0bf2ae161b6f9dde40eaf089bf046c89
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak/* Copyright 1999-2005 The Apache Software Foundation or its licensors, as
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak * applicable.
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak * Licensed under the Apache License, Version 2.0 (the "License");
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak * you may not use this file except in compliance with the License.
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak * You may obtain a copy of the License at
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak * Unless required by applicable law or agreed to in writing, software
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak * distributed under the License is distributed on an "AS IS" BASIS,
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak * See the License for the specific language governing permissions and
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak * limitations under the License.
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak#define SERVICECONFIG9X "Software\\Microsoft\\Windows\\CurrentVersion\\RunServices"
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak#define SERVICECONFIG "System\\CurrentControlSet\\Services\\%s"
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak#define SERVICEPARAMS "System\\CurrentControlSet\\Services\\%s\\Parameters"
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakapr_status_t mpm_service_set_name(apr_pool_t *p, const char **display_name,
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak const char *set_name);
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakapr_status_t mpm_merge_service_args(apr_pool_t *p, apr_array_header_t *args,
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakapr_status_t mpm_service_to_start(const char **display_name, apr_pool_t *p);
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakapr_status_t mpm_service_install(apr_pool_t *ptemp, int argc,
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakapr_status_t mpm_service_start(apr_pool_t *ptemp, int argc,
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak char const* const* argv);
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakvoid mpm_signal_service(apr_pool_t *ptemp, int signal);
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakvoid mpm_nt_eventlog_stderr_open(char *display_name, apr_pool_t *p);
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakextern void clean_child_exit(int);
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktypedef enum {
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakAP_DECLARE(void) ap_signal_parent(ap_signal_parent_e type);
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak * The Windoes MPM uses a queue of completion contexts that it passes
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak * between the accept threads and the worker threads. Declare the
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak * functions to access the queue and the structures passed on the
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak * queue in the header file to enable modules to access them
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak * if necessary. The queue resides in the MPM.
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak#define CONTAINING_RECORD(address, type, field) ((type *)( \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktypedef struct CompContext {
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktypedef enum {
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakvoid mpm_recycle_completion_context(PCOMP_CONTEXT pCompContext);
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakapr_status_t mpm_post_completion_context(PCOMP_CONTEXT pCompContext, io_state_e state);
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak#endif /* APACHE_MPM_WINNT_H */