GRAYBYTE WORDPRESS FILE MANAGER2886

Server IP : 198.54.121.189 / Your IP : 216.73.216.34
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /usr/include/apache2/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /usr/include/apache2//mod_watchdog.h
/* 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 MOD_WATCHDOG_H
#define MOD_WATCHDOG_H

/**
 * @file  mod_watchdog.h
 * @brief Watchdog module for Apache
 *
 * @defgroup MOD_WATCHDOG mod_watchdog
 * @ingroup  APACHE_MODS
 * @{
 */

#include "httpd.h"
#include "http_config.h"
#include "http_log.h"
#include "ap_provider.h"

#include "apr.h"
#include "apr_strings.h"
#include "apr_pools.h"
#include "apr_shm.h"
#include "apr_hash.h"
#include "apr_hooks.h"
#include "apr_optional.h"
#include "apr_file_io.h"
#include "apr_time.h"
#include "apr_thread_proc.h"
#include "apr_global_mutex.h"
#include "apr_thread_mutex.h"

#ifdef __cplusplus
extern "C" {
#endif

/**
 * Default singleton watchdog instance name.
 * Singleton watchdog is protected by mutex and
 * guaranteed to be run inside a single child process
 * at any time.
 */
#define AP_WATCHDOG_SINGLETON       "_singleton_"

/**
 * Default watchdog instance name
 */
#define AP_WATCHDOG_DEFAULT         "_default_"

/**
 * Default Watchdog interval
 */
#define AP_WD_TM_INTERVAL           APR_TIME_C(1000000)  /* 1 second     */

/**
 * Watchdog thread timer resolution
 */
#define AP_WD_TM_SLICE              APR_TIME_C(100000)   /* 100 ms       */

/* State values for callback */
#define AP_WATCHDOG_STATE_STARTING  1
#define AP_WATCHDOG_STATE_RUNNING   2
#define AP_WATCHDOG_STATE_STOPPING  3

typedef struct ap_watchdog_t ap_watchdog_t;

/* Create a set of AP_WD_DECLARE(type), AP_WD_DECLARE_NONSTD(type) and
 * AP_WD_DECLARE_DATA with appropriate export and import tags for the platform
 */
#if !defined(AP_WD_DECLARE)
#if !defined(WIN32)
#define AP_WD_DECLARE(type)            type
#define AP_WD_DECLARE_NONSTD(type)     type
#define AP_WD_DECLARE_DATA
#elif defined(AP_WD_DECLARE_STATIC)
#define AP_WD_DECLARE(type)            type __stdcall
#define AP_WD_DECLARE_NONSTD(type)     type
#define AP_WD_DECLARE_DATA
#elif defined(AP_WD_DECLARE_EXPORT)
#define AP_WD_DECLARE(type)            __declspec(dllexport) type __stdcall
#define AP_WD_DECLARE_NONSTD(type)     __declspec(dllexport) type
#define AP_WD_DECLARE_DATA             __declspec(dllexport)
#else
#define AP_WD_DECLARE(type)            __declspec(dllimport) type __stdcall
#define AP_WD_DECLARE_NONSTD(type)     __declspec(dllimport) type
#define AP_WD_DECLARE_DATA             __declspec(dllimport)
#endif
#endif

/**
 * Callback function used for watchdog.
 * @param state Watchdog state function. See @p AP_WATCHDOG_STATE_ .
 * @param data is what was passed to @p ap_watchdog_register_callback function.
 * @param pool Temporary callback pool destroyed after the call.
 * @return APR_SUCCESS to continue calling this callback.
 */
typedef apr_status_t ap_watchdog_callback_fn_t(int state, void *data,
                                               apr_pool_t *pool);

/**
 * Get watchdog instance.
 * @param watchdog Storage for watchdog instance.
 * @param name Watchdog name.
 * @param parent Non-zero to get the parent process watchdog instance.
 * @param singleton Non-zero to get the singleton watchdog instance.
 * @param p The pool to use.
 * @return APR_SUCCESS if all went well
 * @remark Use @p AP_WATCHDOG_DEFAULT to get default watchdog instance.
 *         If separate watchdog thread is needed provide unique name
 *         and function will create a new watchdog instance.
 *         Note that default client process watchdog works in singleton mode.
 */
APR_DECLARE_OPTIONAL_FN(apr_status_t, ap_watchdog_get_instance,
                        (ap_watchdog_t **watchdog, const char *name, int parent,
                         int singleton, apr_pool_t *p));

/**
 * Register watchdog callback.
 * @param watchdog Watchdog to use
 * @param interval Interval on which the callback function will execute.
 * @param callback  The function to call on watchdog event.
 * @param data The data to pass to the callback function.
 * @return APR_SUCCESS if all went well. APR_EEXIST if already registered.
 */
APR_DECLARE_OPTIONAL_FN(apr_status_t, ap_watchdog_register_callback,
                        (ap_watchdog_t *watchdog, apr_interval_time_t interval,
                         const void *data, ap_watchdog_callback_fn_t *callback));

/**
 * Update registered watchdog callback interval.
 * @param w Watchdog to use
 * @param interval New interval on which the callback function will execute.
 * @param callback  The function to call on watchdog event.
 * @param data The data to pass to the callback function.
 * @return APR_SUCCESS if all went well. APR_EOF if callback was not found.
 */
APR_DECLARE_OPTIONAL_FN(apr_status_t, ap_watchdog_set_callback_interval,
                        (ap_watchdog_t *w, apr_interval_time_t interval,
                         const void *data, ap_watchdog_callback_fn_t *callback));

/**
 * Watchdog require hook.
 * @param s The server record
 * @param name Watchdog name.
 * @param parent Non-zero to indicate the parent process watchdog mode.
 * @param singleton Non-zero to indicate the singleton watchdog mode.
 * @return OK to enable notifications from this watchdog, DECLINED otherwise.
 * @remark This is called in post config phase for all watchdog instances
 *         that have no callbacks registered. Modules using this hook
 *         should ensure that their post_config hook is called after watchdog
 *         post_config.
 */
APR_DECLARE_EXTERNAL_HOOK(ap, AP_WD, int, watchdog_need, (server_rec *s,
                          const char *name,
                          int parent, int singleton))


/**
 * Watchdog initialize hook.
 * It is called after the watchdog thread is initialized.
 * @param s The server record
 * @param name Watchdog name.
 * @param pool The pool used to create the watchdog.
 */
APR_DECLARE_EXTERNAL_HOOK(ap, AP_WD, int, watchdog_init, (
                          server_rec *s,
                          const char *name,
                          apr_pool_t *pool))

/**
 * Watchdog terminate hook.
 * It is called when the watchdog thread is terminated.
 * @param s The server record
 * @param name Watchdog name.
 * @param pool The pool used to create the watchdog.
 */
APR_DECLARE_EXTERNAL_HOOK(ap, AP_WD, int, watchdog_exit, (
                          server_rec *s,
                          const char *name,
                          apr_pool_t *pool))

/**
 * Fixed interval watchdog hook.
 * It is called regularly on @p AP_WD_TM_INTERVAL interval.
 * @param s The server record
 * @param name Watchdog name.
 * @param pool Temporary pool destroyed after the call.
 */
APR_DECLARE_EXTERNAL_HOOK(ap, AP_WD, int, watchdog_step, (
                          server_rec *s,
                          const char *name,
                          apr_pool_t *pool))

#ifdef __cplusplus
}
#endif

#endif /* MOD_WATCHDOG_H */
/** @} */

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
June 24 2025 08:30:34
root / root
0755
.mmn
0.014 KB
June 04 2025 15:19:36
root / root
0644
ap_compat.h
1.05 KB
June 04 2025 15:19:33
root / root
0644
ap_config.h
6.451 KB
June 04 2025 15:19:33
root / root
0644
ap_config_auto.h
9.904 KB
June 04 2025 15:19:33
root / root
0644
ap_config_layout.h
2.521 KB
June 04 2025 15:19:37
root / root
0644
ap_expr.h
13.746 KB
June 04 2025 15:19:33
root / root
0644
ap_hooks.h
5.848 KB
June 04 2025 15:19:33
root / root
0644
ap_listen.h
5.692 KB
June 04 2025 15:19:33
root / root
0644
ap_mmn.h
39.327 KB
June 04 2025 15:19:33
root / root
0644
ap_mpm.h
10.512 KB
June 04 2025 15:19:33
root / root
0644
ap_provider.h
3.454 KB
June 04 2025 15:19:33
root / root
0644
ap_regex.h
11.138 KB
June 04 2025 15:19:33
root / root
0644
ap_regkey.h
8.968 KB
June 04 2025 15:19:34
root / root
0644
ap_release.h
3.07 KB
June 04 2025 15:19:34
root / root
0644
ap_slotmem.h
7.065 KB
June 04 2025 15:19:34
root / root
0644
ap_socache.h
9.18 KB
June 04 2025 15:19:34
root / root
0644
apache_noprobes.h
15.594 KB
June 04 2025 15:19:34
root / root
0644
cache_common.h
1.97 KB
June 04 2025 15:19:35
root / root
0644
heartbeat.h
1.558 KB
June 04 2025 15:19:34
root / root
0644
http_config.h
56.365 KB
June 04 2025 15:19:34
root / root
0644
http_connection.h
6.972 KB
June 04 2025 15:19:34
root / root
0644
http_core.h
36.396 KB
June 04 2025 15:19:34
root / root
0644
http_log.h
36.007 KB
June 04 2025 15:19:34
root / root
0644
http_main.h
3.169 KB
June 04 2025 15:19:34
root / root
0644
http_protocol.h
41.405 KB
June 04 2025 15:19:34
root / root
0644
http_request.h
25.718 KB
June 04 2025 15:19:34
root / root
0644
http_ssl.h
14.624 KB
June 04 2025 15:19:34
root / root
0644
http_vhost.h
4.485 KB
June 04 2025 15:19:34
root / root
0644
httpd.h
94.512 KB
June 04 2025 15:19:34
root / root
0644
mod_auth.h
4.417 KB
June 04 2025 15:19:34
root / root
0644
mod_cache.h
7.086 KB
June 04 2025 15:19:35
root / root
0644
mod_cgi.h
2.438 KB
June 04 2025 15:19:35
root / root
0644
mod_core.h
3.326 KB
June 04 2025 15:19:34
root / root
0644
mod_dav.h
97.686 KB
June 04 2025 15:19:35
root / root
0644
mod_dbd.h
4.057 KB
June 04 2025 15:19:35
root / root
0644
mod_http2.h
4.586 KB
June 04 2025 15:19:35
root / root
0644
mod_include.h
3.891 KB
June 04 2025 15:19:35
root / root
0644
mod_log_config.h
2.427 KB
June 04 2025 15:19:35
root / root
0644
mod_proxy.h
65.796 KB
June 04 2025 15:19:35
root / root
0644
mod_request.h
1.59 KB
June 04 2025 15:19:34
root / root
0644
mod_rewrite.h
1.364 KB
June 04 2025 15:19:35
root / root
0644
mod_session.h
6.609 KB
June 04 2025 15:19:35
root / root
0644
mod_so.h
1.197 KB
June 04 2025 15:19:35
root / root
0644
mod_ssl.h
4.872 KB
June 04 2025 15:19:35
root / root
0644
mod_ssl_openssl.h
4.796 KB
June 04 2025 15:19:35
root / root
0644
mod_status.h
2.384 KB
June 04 2025 15:19:35
root / root
0644
mod_unixd.h
1.088 KB
June 04 2025 15:19:35
root / root
0644
mod_watchdog.h
7.342 KB
June 04 2025 15:19:35
root / root
0644
mod_xml2enc.h
2.253 KB
June 04 2025 15:19:35
root / root
0644
mpm_common.h
16.921 KB
June 04 2025 15:19:34
root / root
0644
os.h
1.631 KB
June 04 2025 15:19:35
root / root
0644
scoreboard.h
9.813 KB
June 04 2025 15:19:34
root / root
0644
unixd.h
4.137 KB
June 04 2025 15:19:35
root / root
0644
util_cfgtree.h
3.079 KB
June 04 2025 15:19:34
root / root
0644
util_charset.h
2.214 KB
June 04 2025 15:19:34
root / root
0644
util_cookies.h
4.845 KB
June 04 2025 15:19:34
root / root
0644
util_ebcdic.h
2.688 KB
June 04 2025 15:19:34
root / root
0644
util_fcgi.h
9.75 KB
June 04 2025 15:19:34
root / root
0644
util_filter.h
25.839 KB
June 04 2025 15:19:34
root / root
0644
util_ldap.h
17.944 KB
June 04 2025 15:19:35
root / root
0644
util_md5.h
2.116 KB
June 04 2025 15:19:35
root / root
0644
util_mutex.h
9.074 KB
June 04 2025 15:19:35
root / root
0644
util_script.h
9.629 KB
June 04 2025 15:19:35
root / root
0644
util_time.h
4.101 KB
June 04 2025 15:19:35
root / root
0644
util_varbuf.h
8.092 KB
June 04 2025 15:19:35
root / root
0644
util_xml.h
1.31 KB
June 04 2025 15:19:35
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF