Current Path: > > usr > include > apache2
Operation : Linux premium107.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 : 198.54.126.246 | Your IP: 216.73.216.181 Domains : 1034 Domain(s) Permission : [ 0755 ]
| Name | Type | Size | Last Modified | Actions |
|---|---|---|---|---|
| .mmn | File | 14 bytes | January 27 2026 02:08:10. | |
| ap_compat.h | File | 1075 bytes | January 27 2026 02:08:07. | |
| ap_config.h | File | 6606 bytes | January 27 2026 02:08:07. | |
| ap_config_auto.h | File | 10142 bytes | January 27 2026 02:08:07. | |
| ap_config_layout.h | File | 2581 bytes | January 27 2026 02:08:11. | |
| ap_expr.h | File | 14076 bytes | January 27 2026 02:08:07. | |
| ap_hooks.h | File | 5988 bytes | January 27 2026 02:08:07. | |
| ap_listen.h | File | 6339 bytes | January 27 2026 02:08:07. | |
| ap_mmn.h | File | 40474 bytes | January 27 2026 02:08:07. | |
| ap_mpm.h | File | 10764 bytes | January 27 2026 02:08:07. | |
| ap_provider.h | File | 3537 bytes | January 27 2026 02:08:07. | |
| ap_regex.h | File | 11405 bytes | January 27 2026 02:08:07. | |
| ap_regkey.h | File | 9183 bytes | January 27 2026 02:08:07. | |
| ap_release.h | File | 3144 bytes | January 27 2026 02:08:07. | |
| ap_slotmem.h | File | 7235 bytes | January 27 2026 02:08:07. | |
| ap_socache.h | File | 9400 bytes | January 27 2026 02:08:07. | |
| apache_noprobes.h | File | 15968 bytes | January 27 2026 02:08:07. | |
| cache_common.h | File | 2017 bytes | January 27 2026 02:08:09. | |
| heartbeat.h | File | 1595 bytes | January 27 2026 02:08:07. | |
| http_config.h | File | 57718 bytes | January 27 2026 02:08:07. | |
| http_connection.h | File | 7139 bytes | January 27 2026 02:08:07. | |
| http_core.h | File | 37270 bytes | January 27 2026 02:08:08. | |
| http_log.h | File | 36871 bytes | January 27 2026 02:08:08. | |
| http_main.h | File | 3245 bytes | January 27 2026 02:08:08. | |
| http_protocol.h | File | 42399 bytes | January 27 2026 02:08:08. | |
| http_request.h | File | 26335 bytes | January 27 2026 02:08:08. | |
| http_ssl.h | File | 14975 bytes | January 27 2026 02:08:08. | |
| http_vhost.h | File | 4593 bytes | January 27 2026 02:08:08. | |
| httpd.h | File | 97301 bytes | January 27 2026 02:08:08. | |
| mod_auth.h | File | 4523 bytes | January 27 2026 02:08:08. | |
| mod_cache.h | File | 7256 bytes | January 27 2026 02:08:09. | |
| mod_cgi.h | File | 2496 bytes | January 27 2026 02:08:09. | |
| mod_core.h | File | 3406 bytes | January 27 2026 02:08:08. | |
| mod_dav.h | File | 100202 bytes | January 27 2026 02:08:09. | |
| mod_dbd.h | File | 4154 bytes | January 27 2026 02:08:09. | |
| mod_http2.h | File | 4696 bytes | January 27 2026 02:08:09. | |
| mod_include.h | File | 3984 bytes | January 27 2026 02:08:09. | |
| mod_log_config.h | File | 2485 bytes | January 27 2026 02:08:09. | |
| mod_proxy.h | File | 67375 bytes | January 27 2026 02:08:09. | |
| mod_request.h | File | 1628 bytes | January 27 2026 02:08:08. | |
| mod_rewrite.h | File | 1397 bytes | January 27 2026 02:08:09. | |
| mod_session.h | File | 6768 bytes | January 27 2026 02:08:09. | |
| mod_so.h | File | 1226 bytes | January 27 2026 02:08:09. | |
| mod_ssl.h | File | 4989 bytes | January 27 2026 02:08:09. | |
| mod_ssl_openssl.h | File | 4911 bytes | January 27 2026 02:08:09. | |
| mod_status.h | File | 2441 bytes | January 27 2026 02:08:09. | |
| mod_unixd.h | File | 1114 bytes | January 27 2026 02:08:09. | |
| mod_watchdog.h | File | 7518 bytes | January 27 2026 02:08:09. | |
| mod_xml2enc.h | File | 2307 bytes | January 27 2026 02:08:09. | |
| mpm_common.h | File | 17499 bytes | January 27 2026 02:08:08. | |
| os.h | File | 1670 bytes | January 27 2026 02:08:09. | |
| scoreboard.h | File | 10178 bytes | January 27 2026 02:08:08. | |
| unixd.h | File | 4236 bytes | January 27 2026 02:08:09. | |
| util_cfgtree.h | File | 3153 bytes | January 27 2026 02:08:08. | |
| util_charset.h | File | 2267 bytes | January 27 2026 02:08:08. | |
| util_cookies.h | File | 4961 bytes | January 27 2026 02:08:08. | |
| util_ebcdic.h | File | 2752 bytes | January 27 2026 02:08:08. | |
| util_fcgi.h | File | 9984 bytes | January 27 2026 02:08:08. | |
| util_filter.h | File | 26459 bytes | January 27 2026 02:08:08. | |
| util_ldap.h | File | 18375 bytes | January 27 2026 02:08:08. | |
| util_md5.h | File | 2167 bytes | January 27 2026 02:08:08. | |
| util_mutex.h | File | 9292 bytes | January 27 2026 02:08:08. | |
| util_script.h | File | 9860 bytes | January 27 2026 02:08:08. | |
| util_time.h | File | 4199 bytes | January 27 2026 02:08:08. | |
| util_varbuf.h | File | 8286 bytes | January 27 2026 02:08:08. | |
| util_xml.h | File | 1341 bytes | January 27 2026 02:08:09. |
/* 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 util_varbuf.h
* @brief Apache resizable variable length buffer library
*
* @defgroup APACHE_CORE_VARBUF Variable length buffer library
* @ingroup APACHE_CORE
*
* This set of functions provides resizable buffers. While the primary
* usage is with NUL-terminated strings, most functions also work with
* arbitrary binary data.
*
* @{
*/
#ifndef AP_VARBUF_H
#define AP_VARBUF_H
#include "apr.h"
#include "apr_allocator.h"
#include "httpd.h"
#ifdef __cplusplus
extern "C" {
#endif
#define AP_VARBUF_UNKNOWN APR_SIZE_MAX
struct ap_varbuf_info;
/** A resizable buffer. */
struct ap_varbuf {
/** The actual buffer; will point to a const '\\0' if avail == 0 and
* to memory of the same lifetime as the pool otherwise. */
char *buf;
/** Allocated size of the buffer (minus one for the final \\0);
* must only be changed using ap_varbuf_grow(). */
apr_size_t avail;
/** Length of string in buffer, or AP_VARBUF_UNKNOWN. This determines how
* much memory is copied by ap_varbuf_grow() and where
* ap_varbuf_strmemcat() will append to the buffer. */
apr_size_t strlen;
/** The pool for memory allocations and for registering the cleanup;
* the buffer memory will be released when this pool is cleared. */
apr_pool_t *pool;
/** Opaque info for memory allocation. */
struct ap_varbuf_info *info;
};
/**
* Initialize a resizable buffer. It is safe to re-initialize a previously
* used ap_varbuf. The old buffer will be released when the corresponding
* pool is cleared. The buffer remains usable until the pool is cleared,
* even if the ap_varbuf was located on the stack and has gone out of scope.
* @param pool The pool to allocate small buffers from and to register
* the cleanup with
* @param vb Pointer to the ap_varbuf struct
* @param init_size The initial size of the buffer (see ap_varbuf_grow() for
* details)
*/
AP_DECLARE(void) ap_varbuf_init(apr_pool_t *pool, struct ap_varbuf *vb,
apr_size_t init_size);
/**
* Grow a resizable buffer. If the vb->buf cannot be grown in place, it will
* be reallocated and the first vb->strlen + 1 bytes of memory will be copied
* to the new location. If vb->strlen == AP_VARBUF_UNKNOWN, the whole buffer
* is copied.
* @param vb Pointer to the ap_varbuf struct
* @param new_size The minimum new size of the buffer
* @note ap_varbuf_grow() will usually at least double vb->buf's size with
* every invocation in order to reduce reallocations.
* @note ap_varbuf_grow() will use pool memory for small and allocator
* mem nodes for larger allocations.
* @note ap_varbuf_grow() will call vb->pool's abort function if out of memory.
*/
AP_DECLARE(void) ap_varbuf_grow(struct ap_varbuf *vb, apr_size_t new_size);
/**
* Release memory from a ap_varbuf immediately, if possible.
* This allows to free large buffers before the corresponding pool is
* cleared. Only larger allocations using mem nodes will be freed.
* @param vb Pointer to the ap_varbuf struct
* @note After ap_varbuf_free(), vb must not be used unless ap_varbuf_init()
* is called again.
*/
AP_DECLARE(void) ap_varbuf_free(struct ap_varbuf *vb);
/**
* Concatenate a string to an ap_varbuf. vb->strlen determines where
* the string is appended in the buffer. If vb->strlen == AP_VARBUF_UNKNOWN,
* the string will be appended at the first NUL byte in the buffer.
* If len == 0, ap_varbuf_strmemcat() does nothing.
* @param vb Pointer to the ap_varbuf struct
* @param str The string to append; must be at least len bytes long
* @param len The number of characters of *str to concatenate to the buf
* @note vb->strlen will be set to the length of the new string
* @note if len != 0, vb->buf will always be NUL-terminated
*/
AP_DECLARE(void) ap_varbuf_strmemcat(struct ap_varbuf *vb, const char *str,
int len);
/**
* Duplicate an ap_varbuf's content into pool memory.
* @param p The pool to allocate from
* @param vb The ap_varbuf to copy from
* @param prepend An optional buffer to prepend (may be NULL)
* @param prepend_len Length of prepend
* @param append An optional buffer to append (may be NULL)
* @param append_len Length of append
* @param new_len Where to store the length of the resulting string
* (may be NULL)
* @return The new string
* @note ap_varbuf_pdup() uses vb->strlen to determine how much memory to
* copy. It works even if 0-bytes are embedded in vb->buf, prepend, or
* append.
* @note If vb->strlen equals AP_VARBUF_UNKNOWN, it will be set to
* strlen(vb->buf).
*/
AP_DECLARE(char *) ap_varbuf_pdup(apr_pool_t *p, struct ap_varbuf *vb,
const char *prepend, apr_size_t prepend_len,
const char *append, apr_size_t append_len,
apr_size_t *new_len);
/**
* Concatenate a string to an ap_varbuf.
* @param vb Pointer to the ap_varbuf struct
* @param str The string to append
* @note vb->strlen will be set to the length of the new string
*/
#define ap_varbuf_strcat(vb, str) ap_varbuf_strmemcat(vb, str, strlen(str))
/**
* Perform string substitutions based on regexp match, using an ap_varbuf.
* This function behaves like ap_pregsub(), but appends to an ap_varbuf
* instead of allocating the result from a pool.
* @param vb The ap_varbuf to which the string will be appended
* @param input An arbitrary string containing $1 through $9. These are
* replaced with the corresponding matched sub-expressions
* @param source The string that was originally matched to the regex
* @param nmatch The nmatch returned from ap_pregex
* @param pmatch The pmatch array returned from ap_pregex
* @param maxlen The maximum string length to append to vb, 0 for unlimited
* @return APR_SUCCESS if successful
* @note Just like ap_pregsub(), this function does not copy the part of
* *source before the matching part (i.e. the first pmatch[0].rm_so
* characters).
* @note If vb->strlen equals AP_VARBUF_UNKNOWN, it will be set to
* strlen(vb->buf) first.
*/
AP_DECLARE(apr_status_t) ap_varbuf_regsub(struct ap_varbuf *vb,
const char *input,
const char *source,
apr_size_t nmatch,
ap_regmatch_t pmatch[],
apr_size_t maxlen);
/**
* Read a line from an ap_configfile_t and append it to an ap_varbuf.
* @param vb Pointer to the ap_varbuf struct
* @param cfp Pointer to the ap_configfile_t
* @param max_len Maximum line length, including leading/trailing whitespace
* @return See ap_cfg_getline()
* @note vb->strlen will be set to the length of the line
* @note If vb->strlen equals AP_VARBUF_UNKNOWN, it will be set to
* strlen(vb->buf) first.
*/
AP_DECLARE(apr_status_t) ap_varbuf_cfg_getline(struct ap_varbuf *vb,
ap_configfile_t *cfp,
apr_size_t max_len);
#ifdef __cplusplus
}
#endif
#endif /* !AP_VARBUF_H */
/** @} */
SILENT KILLER Tool