SILENT KILLERPanel

Current Path: > > usr > include > apache2


Operation   : Linux premium131.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
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //usr/include/apache2

NameTypeSizeLast ModifiedActions
.mmn File 14 bytes July 26 2025 09:52:10.
ap_compat.h File 1075 bytes July 26 2025 09:52:07.
ap_config.h File 6606 bytes July 26 2025 09:52:07.
ap_config_auto.h File 10142 bytes July 26 2025 09:52:07.
ap_config_layout.h File 2581 bytes July 26 2025 09:52:11.
ap_expr.h File 14076 bytes July 26 2025 09:52:07.
ap_hooks.h File 5988 bytes July 26 2025 09:52:07.
ap_listen.h File 5829 bytes July 26 2025 09:52:07.
ap_mmn.h File 40271 bytes July 26 2025 09:52:07.
ap_mpm.h File 10764 bytes July 26 2025 09:52:07.
ap_provider.h File 3537 bytes July 26 2025 09:52:07.
ap_regex.h File 11405 bytes July 26 2025 09:52:07.
ap_regkey.h File 9183 bytes July 26 2025 09:52:07.
ap_release.h File 3144 bytes July 26 2025 09:52:07.
ap_slotmem.h File 7235 bytes July 26 2025 09:52:07.
ap_socache.h File 9400 bytes July 26 2025 09:52:07.
apache_noprobes.h File 15968 bytes July 26 2025 09:52:07.
cache_common.h File 2017 bytes July 26 2025 09:52:09.
heartbeat.h File 1595 bytes July 26 2025 09:52:07.
http_config.h File 57718 bytes July 26 2025 09:52:07.
http_connection.h File 7139 bytes July 26 2025 09:52:07.
http_core.h File 37270 bytes July 26 2025 09:52:07.
http_log.h File 36871 bytes July 26 2025 09:52:07.
http_main.h File 3245 bytes July 26 2025 09:52:07.
http_protocol.h File 42399 bytes July 26 2025 09:52:08.
http_request.h File 26335 bytes July 26 2025 09:52:08.
http_ssl.h File 14975 bytes July 26 2025 09:52:08.
http_vhost.h File 4593 bytes July 26 2025 09:52:08.
httpd.h File 96780 bytes July 26 2025 09:52:08.
mod_auth.h File 4523 bytes July 26 2025 09:52:08.
mod_cache.h File 7256 bytes July 26 2025 09:52:09.
mod_cgi.h File 2496 bytes July 26 2025 09:52:09.
mod_core.h File 3406 bytes July 26 2025 09:52:08.
mod_dav.h File 100030 bytes July 26 2025 09:52:09.
mod_dbd.h File 4154 bytes July 26 2025 09:52:09.
mod_http2.h File 4696 bytes July 26 2025 09:52:09.
mod_include.h File 3984 bytes July 26 2025 09:52:09.
mod_log_config.h File 2485 bytes July 26 2025 09:52:09.
mod_proxy.h File 67375 bytes July 26 2025 09:52:09.
mod_request.h File 1628 bytes July 26 2025 09:52:08.
mod_rewrite.h File 1397 bytes July 26 2025 09:52:09.
mod_session.h File 6768 bytes July 26 2025 09:52:09.
mod_so.h File 1226 bytes July 26 2025 09:52:08.
mod_ssl.h File 4989 bytes July 26 2025 09:52:09.
mod_ssl_openssl.h File 4911 bytes July 26 2025 09:52:09.
mod_status.h File 2441 bytes July 26 2025 09:52:09.
mod_unixd.h File 1114 bytes July 26 2025 09:52:08.
mod_watchdog.h File 7518 bytes July 26 2025 09:52:08.
mod_xml2enc.h File 2307 bytes July 26 2025 09:52:09.
mpm_common.h File 17327 bytes July 26 2025 09:52:08.
os.h File 1670 bytes July 26 2025 09:52:09.
scoreboard.h File 10048 bytes July 26 2025 09:52:08.
unixd.h File 4236 bytes July 26 2025 09:52:09.
util_cfgtree.h File 3153 bytes July 26 2025 09:52:08.
util_charset.h File 2267 bytes July 26 2025 09:52:08.
util_cookies.h File 4961 bytes July 26 2025 09:52:08.
util_ebcdic.h File 2752 bytes July 26 2025 09:52:08.
util_fcgi.h File 9984 bytes July 26 2025 09:52:08.
util_filter.h File 26459 bytes July 26 2025 09:52:08.
util_ldap.h File 18375 bytes July 26 2025 09:52:08.
util_md5.h File 2167 bytes July 26 2025 09:52:08.
util_mutex.h File 9292 bytes July 26 2025 09:52:08.
util_script.h File 9860 bytes July 26 2025 09:52:08.
util_time.h File 4199 bytes July 26 2025 09:52:08.
util_varbuf.h File 8286 bytes July 26 2025 09:52:08.
util_xml.h File 1341 bytes July 26 2025 09:52:08.

Reading File: //usr/include/apache2/ap_socache.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.
 */

/**
 * @file ap_socache.h
 * @brief Small object cache provider interface.
 *
 * @defgroup AP_SOCACHE ap_socache
 * @ingroup  APACHE_MODS
 * @{
 */

#ifndef AP_SOCACHE_H
#define AP_SOCACHE_H

#include "httpd.h"
#include "ap_provider.h"
#include "apr_pools.h"
#include "apr_time.h"

#ifdef __cplusplus
extern "C" {
#endif

/** If this flag is set, the store/retrieve/remove/status interfaces
 * of the provider are NOT safe to be called concurrently from
 * multiple processes or threads, and an external global mutex must be
 * used to serialize access to the provider.
 */
/* XXX: Even if store/retrieve/remove is atomic, isn't it useful to note
 * independently that status and iterate may or may not be?
 */
#define AP_SOCACHE_FLAG_NOTMPSAFE (0x0001)

/** A cache instance. */
typedef struct ap_socache_instance_t ap_socache_instance_t;

/** Hints which may be passed to the init function; providers may
 * ignore some or all of these hints. */
struct ap_socache_hints {
    /** Approximate average length of IDs: */
    apr_size_t avg_id_len;
    /** Approximate average size of objects: */
    apr_size_t avg_obj_size;
    /** Suggested interval between expiry cleanup runs; */
    apr_interval_time_t expiry_interval;
};

/**
 * Iterator callback prototype for the ap_socache_provider_t->iterate() method
 * @param instance The cache instance
 * @param s Associated server context (for logging)
 * @param userctx User defined pointer passed from the iterator call
 * @param id Unique ID for the object (binary blob)
 * with a trailing null char for convenience
 * @param idlen Length of id blob
 * @param data Output buffer to place retrieved data (binary blob)
 * with a trailing null char for convenience
 * @param datalen Length of data buffer
 * @param pool Pool for temporary allocations
 * @return APR status value; return APR_SUCCESS or the iteration will halt;
 * this value is returned to the ap_socache_provider_t->iterate() caller
 */
typedef apr_status_t (ap_socache_iterator_t)(ap_socache_instance_t *instance,
                                             server_rec *s,
                                             void *userctx,
                                             const unsigned char *id,
                                             unsigned int idlen,
                                             const unsigned char *data,
                                             unsigned int datalen,
                                             apr_pool_t *pool);

/** A socache provider structure.  socache providers are registered
 * with the ap_provider.h interface using the AP_SOCACHE_PROVIDER_*
 * constants. */
typedef struct ap_socache_provider_t {
    /** Canonical provider name. */
    const char *name;

    /** Bitmask of AP_SOCACHE_FLAG_* flags. */
    unsigned int flags;

    /**
     * Create a small object cache based on the given configuration
     * string.  The instance pointer returned in the instance
     * parameter will be passed as the first argument to subsequent
     * invocations.
     *
     * @param instance Output parameter to which instance object is written.
     * @param arg User-specified configuration string.  May be NULL to
     *        force use of defaults.
     * @param tmp Pool to be used for any temporary allocations
     * @param p Pool to be use for any allocations lasting as long as
     * the created instance
     * @return NULL on success, or an error string on failure.
     */
    const char *(*create)(ap_socache_instance_t **instance, const char *arg,
                          apr_pool_t *tmp, apr_pool_t *p);

    /**
     * Initialize the cache.  The cname must be of maximum length 16
     * characters, and uniquely identifies the consumer of the cache
     * within the server; using the module name is recommended, e.g.
     * "mod_ssl-sess".  This string may be used within a filesystem
     * path so use of only alphanumeric [a-z0-9_-] characters is
     * recommended.  If hints is non-NULL, it gives a set of hints for
     * the provider.  Returns APR error code.
     *
     * @param instance The cache instance
     * @param cname A unique string identifying the consumer of this API
     * @param hints Optional hints argument describing expected cache use
     * @param s Server structure to which the cache is associated
     * @param pool Pool for long-lived allocations
     * @return APR status value indicating success.
     */
    apr_status_t (*init)(ap_socache_instance_t *instance, const char *cname,
                         const struct ap_socache_hints *hints,
                         server_rec *s, apr_pool_t *pool);

    /**
     * Destroy a given cache instance object.
     * @param instance The cache instance to destroy.
     * @param s Associated server structure (for logging purposes)
     */
    void (*destroy)(ap_socache_instance_t *instance, server_rec *s);

    /**
     * Store an object in a cache instance.
     * @param instance The cache instance
     * @param s Associated server structure (for logging purposes)
     * @param id Unique ID for the object; binary blob
     * @param idlen Length of id blob
     * @param expiry Absolute time at which the object expires
     * @param data Data to store; binary blob
     * @param datalen Length of data blob
     * @param pool Pool for temporary allocations.
     * @return APR status value.
     */
    apr_status_t (*store)(ap_socache_instance_t *instance, server_rec *s,
                          const unsigned char *id, unsigned int idlen,
                          apr_time_t expiry,
                          unsigned char *data, unsigned int datalen,
                          apr_pool_t *pool);

    /**
     * Retrieve a cached object.
     * 
     * @param instance The cache instance
     * @param s Associated server structure (for logging purposes)
     * @param id Unique ID for the object; binary blob
     * @param idlen Length of id blob
     * @param data Output buffer to place retrievd data (binary blob)
     * @param datalen On entry, length of data buffer; on exit, the
     * number of bytes written to the data buffer.
     * @param pool Pool for temporary allocations.
     * @return APR status value; APR_NOTFOUND if the object was not
     * found
     */
    apr_status_t (*retrieve)(ap_socache_instance_t *instance, server_rec *s,
                             const unsigned char *id, unsigned int idlen,
                             unsigned char *data, unsigned int *datalen,
                             apr_pool_t *pool);

    /**
     * Remove an object from the cache
     *
     * @param instance The cache instance
     * @param s Associated server structure (for logging purposes)
     * @param id Unique ID for the object; binary blob
     * @param idlen Length of id blob
     * @param pool Pool for temporary allocations.
     */
    apr_status_t (*remove)(ap_socache_instance_t *instance, server_rec *s,
                           const unsigned char *id, unsigned int idlen,
                           apr_pool_t *pool);

    /** 
     * Dump the status of a cache instance for mod_status.  Will use
     * the ap_r* interfaces to produce appropriate status output.
     * XXX: ap_r* are deprecated, bad dogfood
     *
     * @param instance The cache instance
     * @param r The request structure
     * @param flags The AP_STATUS_* constants used (see mod_status.h)
     */
    void (*status)(ap_socache_instance_t *instance, request_rec *r, int flags);

    /**
     * Dump all cached objects through an iterator callback.
     * @param instance The cache instance
     * @param s Associated server context (for processing and logging)
     * @param userctx User defined pointer passed through to the iterator
     * @param iterator The user provided callback function which will receive
     * individual calls for each unexpired id/data pair
     * @param pool Pool for temporary allocations.
     * @return APR status value; APR_NOTFOUND if the object was not
     * found
     */
    apr_status_t (*iterate)(ap_socache_instance_t *instance, server_rec *s,
                            void *userctx, ap_socache_iterator_t *iterator,
                            apr_pool_t *pool);

} ap_socache_provider_t;

/** The provider group used to register socache providers. */
#define AP_SOCACHE_PROVIDER_GROUP "socache"
/** The provider version used to register socache providers. */
#define AP_SOCACHE_PROVIDER_VERSION "0"

/** Default provider name. */
#define AP_SOCACHE_DEFAULT_PROVIDER "default"

#ifdef __cplusplus
}
#endif

#endif /* AP_SOCACHE_H */
/** @} */

SILENT KILLER Tool