X7ROOT File Manager
Current Path:
/usr/include/apache2
usr
/
include
/
apache2
/
ðŸ“
..
📄
.mmn
(14 B)
📄
ap_compat.h
(1.05 KB)
📄
ap_config.h
(6.45 KB)
📄
ap_config_auto.h
(9.9 KB)
📄
ap_config_layout.h
(2.52 KB)
📄
ap_expr.h
(13.75 KB)
📄
ap_hooks.h
(5.85 KB)
📄
ap_listen.h
(5.69 KB)
📄
ap_mmn.h
(39.33 KB)
📄
ap_mpm.h
(10.51 KB)
📄
ap_provider.h
(3.45 KB)
📄
ap_regex.h
(11.14 KB)
📄
ap_regkey.h
(8.97 KB)
📄
ap_release.h
(3.07 KB)
📄
ap_slotmem.h
(7.07 KB)
📄
ap_socache.h
(9.18 KB)
📄
apache_noprobes.h
(15.59 KB)
📄
cache_common.h
(1.97 KB)
📄
heartbeat.h
(1.56 KB)
📄
http_config.h
(56.37 KB)
📄
http_connection.h
(6.97 KB)
📄
http_core.h
(36.4 KB)
📄
http_log.h
(36.01 KB)
📄
http_main.h
(3.17 KB)
📄
http_protocol.h
(41.41 KB)
📄
http_request.h
(25.72 KB)
📄
http_ssl.h
(14.62 KB)
📄
http_vhost.h
(4.49 KB)
📄
httpd.h
(94.51 KB)
📄
mod_auth.h
(4.42 KB)
📄
mod_cache.h
(7.09 KB)
📄
mod_cgi.h
(2.44 KB)
📄
mod_core.h
(3.33 KB)
📄
mod_dav.h
(97.69 KB)
📄
mod_dbd.h
(4.06 KB)
📄
mod_http2.h
(4.59 KB)
📄
mod_include.h
(3.89 KB)
📄
mod_log_config.h
(2.43 KB)
📄
mod_proxy.h
(65.8 KB)
📄
mod_request.h
(1.59 KB)
📄
mod_rewrite.h
(1.36 KB)
📄
mod_session.h
(6.61 KB)
📄
mod_so.h
(1.2 KB)
📄
mod_ssl.h
(4.87 KB)
📄
mod_ssl_openssl.h
(4.8 KB)
📄
mod_status.h
(2.38 KB)
📄
mod_unixd.h
(1.09 KB)
📄
mod_watchdog.h
(7.34 KB)
📄
mod_xml2enc.h
(2.25 KB)
📄
mpm_common.h
(16.92 KB)
📄
os.h
(1.63 KB)
📄
scoreboard.h
(9.81 KB)
📄
unixd.h
(4.14 KB)
📄
util_cfgtree.h
(3.08 KB)
📄
util_charset.h
(2.21 KB)
📄
util_cookies.h
(4.84 KB)
📄
util_ebcdic.h
(2.69 KB)
📄
util_fcgi.h
(9.75 KB)
📄
util_filter.h
(25.84 KB)
📄
util_ldap.h
(17.94 KB)
📄
util_md5.h
(2.12 KB)
📄
util_mutex.h
(9.07 KB)
📄
util_script.h
(9.63 KB)
📄
util_time.h
(4.1 KB)
📄
util_varbuf.h
(8.09 KB)
📄
util_xml.h
(1.31 KB)
Editing: 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 */ /** @} */
Upload File
Create Folder