diff options
Diffstat (limited to 'inc')
-rw-r--r-- | inc/.cvsignore | bin | 14 -> 0 bytes | |||
-rw-r--r-- | inc/apr_config.h.in | 273 | ||||
-rw-r--r-- | inc/apr_fnmatch.h | 68 | ||||
-rw-r--r-- | inc/apr_pools.h | 322 |
4 files changed, 0 insertions, 663 deletions
diff --git a/inc/.cvsignore b/inc/.cvsignore Binary files differdeleted file mode 100644 index 10630bb1a..000000000 --- a/inc/.cvsignore +++ /dev/null diff --git a/inc/apr_config.h.in b/inc/apr_config.h.in deleted file mode 100644 index 1a41b4f97..000000000 --- a/inc/apr_config.h.in +++ /dev/null @@ -1,273 +0,0 @@ -/* include/apr_config.h.in. Generated automatically from configure.in by autoheader. */ -#ifndef APR_CONFIG_H -#define APR_CONFIG_H - -/* Define if on AIX 3. - System headers sometimes define this. - We just want to avoid a redefinition error message. */ -#ifndef _ALL_SOURCE -#undef _ALL_SOURCE -#endif - -/* Define to empty if the keyword does not work. */ -#undef const - -/* Define to `int' if <sys/types.h> doesn't define. */ -#undef gid_t - -/* Define if you have a working `mmap' system call. */ -#undef HAVE_MMAP - -/* Define as __inline if that's what the C compiler calls it. */ -#undef inline - -/* Define to `long' if <sys/types.h> doesn't define. */ -#undef off_t - -/* Define to `int' if <sys/types.h> doesn't define. */ -#undef pid_t - -/* Define if the `setpgrp' function takes no argument. */ -#undef SETPGRP_VOID - -/* Define to `unsigned' if <sys/types.h> doesn't define. */ -#undef size_t - -/* Define if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define to `int' if <sys/types.h> doesn't define. */ -#undef uid_t - -/* Various #defines we need to know about */ -#undef HAVE_STRUCT_UNION_SEMUN -#undef HAVE_LOCK_EX -#undef HAVE_F_SETLK -#undef HAVE_PTHREAD_PROCESS_SHARED - -/* Cross process serialization techniques */ -#undef USE_FLOCK_SERIALIZE -#undef USE_SYSVSEM_SERIALIZE -#undef USE_FCNTL_SERIALIZE -#undef USE_PROC_PTHREAD_SERIALIZE -#undef USE_PTHREAD_SERIALIZE - -#undef NEED_RLIM_T -#undef USEBCOPY - -/* The number of bytes in a char. */ -#undef SIZEOF_CHAR - -/* The number of bytes in a int. */ -#undef SIZEOF_INT - -/* The number of bytes in a long. */ -#undef SIZEOF_LONG - -/* The number of bytes in a long double. */ -#undef SIZEOF_LONG_DOUBLE - -/* The number of bytes in a long long. */ -#undef SIZEOF_LONG_LONG - -/* The number of bytes in a short. */ -#undef SIZEOF_SHORT - -/* Define if you have the getpagesize function. */ -#undef HAVE_GETPAGESIZE - -/* Define if you have the poll function. */ -#undef HAVE_POLL - -/* Define if you have the pthread_mutex_init function. */ -#undef HAVE_PTHREAD_MUTEX_INIT - -/* Define if you have the setsid function. */ -#undef HAVE_SETSID - -/* Define if you have the sigaction function. */ -#undef HAVE_SIGACTION - -/* Define if you have the strcasecmp function. */ -#undef HAVE_STRCASECMP - -/* Define if you have the stricmp function. */ -#undef HAVE_STRICMP - -/* Define if you have the writev function. */ -#undef HAVE_WRITEV - -/* Define if you have the <arpa/inet.h> header file. */ -#undef HAVE_ARPA_INET_H - -/* Define if you have the <crypt.h> header file. */ -#undef HAVE_CRYPT_H - -/* Define if you have the <ctype.h> header file. */ -#undef HAVE_CTYPE_H - -/* Define if you have the <dir.h> header file. */ -#undef HAVE_DIR_H - -/* Define if you have the <dirent.h> header file. */ -#undef HAVE_DIRENT_H - -/* Define if you have the <errno.h> header file. */ -#undef HAVE_ERRNO_H - -/* Define if you have the <fcntl.h> header file. */ -#undef HAVE_FCNTL_H - -/* Define if you have the <features.h> header file. */ -#undef HAVE_FEATURES_H - -/* Define if you have the <grp.h> header file. */ -#undef HAVE_GRP_H - -/* Define if you have the <io.h> header file. */ -#undef HAVE_IO_H - -/* Define if you have the <limits.h> header file. */ -#undef HAVE_LIMITS_H - -/* Define if you have the <malloc.h> header file. */ -#undef HAVE_MALLOC_H - -/* Define if you have the <math.h> header file. */ -#undef HAVE_MATH_H - -/* Define if you have the <memory.h> header file. */ -#undef HAVE_MEMORY_H - -/* Define if you have the <net/errno.h> header file. */ -#undef HAVE_NET_ERRNO_H - -/* Define if you have the <netdb.h> header file. */ -#undef HAVE_NETDB_H - -/* Define if you have the <netinet/in.h> header file. */ -#undef HAVE_NETINET_IN_H - -/* Define if you have the <osreldate.h> header file. */ -#undef HAVE_OSRELDATE_H - -/* Define if you have the <process.h> header file. */ -#undef HAVE_PROCESS_H - -/* Define if you have the <pthread.h> header file. */ -#undef HAVE_PTHREAD_H - -/* Define if you have the <pwd.h> header file. */ -#undef HAVE_PWD_H - -/* Define if you have the <setjmp.h> header file. */ -#undef HAVE_SETJMP_H - -/* Define if you have the <signal.h> header file. */ -#undef HAVE_SIGNAL_H - -/* Define if you have the <stdarg.h> header file. */ -#undef HAVE_STDARG_H - -/* Define if you have the <stddef.h> header file. */ -#undef HAVE_STDDEF_H - -/* Define if you have the <stdio.h> header file. */ -#undef HAVE_STDIO_H - -/* Define if you have the <stdlib.h> header file. */ -#undef HAVE_STDLIB_H - -/* Define if you have the <string.h> header file. */ -#undef HAVE_STRING_H - -/* Define if you have the <sys/file.h> header file. */ -#undef HAVE_SYS_FILE_H - -/* Define if you have the <sys/ioctl.h> header file. */ -#undef HAVE_SYS_IOCTL_H - -/* Define if you have the <sys/mman.h> header file. */ -#undef HAVE_SYS_MMAN_H - -/* Define if you have the <sys/param.h> header file. */ -#undef HAVE_SYS_PARAM_H - -/* Define if you have the <sys/resource.h> header file. */ -#undef HAVE_SYS_RESOURCE_H - -/* Define if you have the <sys/select.h> header file. */ -#undef HAVE_SYS_SELECT_H - -/* Define if you have the <sys/socket.h> header file. */ -#undef HAVE_SYS_SOCKET_H - -/* Define if you have the <sys/stat.h> header file. */ -#undef HAVE_SYS_STAT_H - -/* Define if you have the <sys/time.h> header file. */ -#undef HAVE_SYS_TIME_H - -/* Define if you have the <sys/times.h> header file. */ -#undef HAVE_SYS_TIMES_H - -/* Define if you have the <sys/types.h> header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define if you have the <sys/wait.h> header file. */ -#undef HAVE_SYS_WAIT_H - -/* Define if you have the <sysapi.h> header file. */ -#undef HAVE_SYSAPI_H - -/* Define if you have the <sysgtime.h> header file. */ -#undef HAVE_SYSGTIME_H - -/* Define if you have the <time.h> header file. */ -#undef HAVE_TIME_H - -/* Define if you have the <tpfeq.h> header file. */ -#undef HAVE_TPFEQ_H - -/* Define if you have the <tpfio.h> header file. */ -#undef HAVE_TPFIO_H - -/* Define if you have the <unistd.h> header file. */ -#undef HAVE_UNISTD_H - -/* Define if you have the <unix.h> header file. */ -#undef HAVE_UNIX_H - -/* Define if you have the <winsock.h> header file. */ -#undef HAVE_WINSOCK_H - -/* Define if you have the dl library (-ldl). */ -#undef HAVE_LIBDL - -/* Define if you have the pthread library (-lpthread). */ -#undef HAVE_LIBPTHREAD -#define API_EXPORT(type) type -#define API_EXPORT_NONSTD(type) type -#define API_VAR_IMPORT extern - -/* Make sure we have ssize_t defined to be somethine */ -#undef ssize_t - -/* We want this in config.h, because it is a macro that Windows requires. This - * way, every thread start function has this definition, and things are happy. - */ -#define API_THREAD_FUNC - -#ifdef HAVE_SIGACTION -typedef void Sigfunc(int); - -#if defined(SIG_ING) && !defined(SIG_ERR) -#define SIG_ERR ((Sigfunc *)-1) -#endif - -#define signal(s,f) ap_signal(s, f) -Sigfunc *signal(int signo, Sigfunc * func); -#endif - - -#endif /* APR_CONFIG_H */ diff --git a/inc/apr_fnmatch.h b/inc/apr_fnmatch.h deleted file mode 100644 index ba194c303..000000000 --- a/inc/apr_fnmatch.h +++ /dev/null @@ -1,68 +0,0 @@ -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)fnmatch.h 8.1 (Berkeley) 6/2/93 - */ - -/* This file has been modified by the Apache Group. */ -#ifndef WIN32 -#include "apr_config.h" -#else -#include "apr_win.h" -#endif - -#ifndef _APR_FNMATCH_H_ -#define _APR_FNMATCH_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -#define FNM_NOMATCH 1 /* Match failed. */ - -#define FNM_NOESCAPE 0x01 /* Disable backslash escaping. */ -#define FNM_PATHNAME 0x02 /* Slash must be matched by slash. */ -#define FNM_PERIOD 0x04 /* Period must be matched by period. */ -/* This flag is an Apache addition */ -#define FNM_CASE_BLIND 0x08 /* Compare characters case-insensitively. */ - -API_EXPORT(int) apr_fnmatch(const char *pattern, const char *strings, - int flags); - -/* this function is an Apache addition */ -API_EXPORT(extern int) ap_is_fnmatch(const char *pattern); - -#ifdef __cplusplus -} -#endif - -#endif /* !_FNMATCH_H_ */ diff --git a/inc/apr_pools.h b/inc/apr_pools.h deleted file mode 100644 index 9cf202e42..000000000 --- a/inc/apr_pools.h +++ /dev/null @@ -1,322 +0,0 @@ -/* ==================================================================== - * Copyright (c) 1995-1999 The Apache Group. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the Apache Group - * for use in the Apache HTTP server project (http://www.apache.org/)." - * - * 4. The names "Apache Server" and "Apache Group" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache" - * nor may "Apache" appear in their names without prior written - * permission of the Apache Group. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the Apache Group - * for use in the Apache HTTP server project (http://www.apache.org/)." - * - * THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE GROUP OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Group and was originally based - * on public domain software written at the National Center for - * Supercomputing Applications, University of Illinois, Urbana-Champaign. - * For more information on the Apache Group and the Apache HTTP server - * project, please see <http://www.apache.org/>. - * - */ - -#ifndef ap_POOLS_H -#define ap_POOLS_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Resource allocation routines... - * - * designed so that we don't have to keep track of EVERYTHING so that - * it can be explicitly freed later (a fundamentally unsound strategy --- - * particularly in the presence of die()). - * - * Instead, we maintain pools, and allocate items (both memory and I/O - * handlers) from the pools --- currently there are two, one for per - * transaction info, and one for config info. When a transaction is over, - * we can delete everything in the per-transaction pool without fear, and - * without thinking too hard about it either. - * - * rst - */ - -/* Arenas for configuration info and transaction info - * --- actual layout of the pool structure is private to - * alloc.c. - */ - - /* Need declaration of DIR on Win32 */ -#ifdef WIN32 -/*#include "../os/win32/readdir.h"*/ -#endif -#include "apr_lib.h" - -#include <sys/types.h> -#ifdef HAVE_SYS_WAIT_H -#include <sys/wait.h> -#endif -#include <signal.h> - -struct process_chain { - pid_t pid; - enum kill_conditions kill_how; - struct process_chain *next; -}; - -struct ap_pool_t { - union block_hdr *first; - union block_hdr *last; - struct cleanup *cleanups; - struct process_chain *subprocesses; - ap_pool_t *sub_pools; - ap_pool_t *sub_next; - ap_pool_t *sub_prev; - ap_pool_t *parent; - char *free_first_avail; -#ifdef ALLOC_USE_MALLOC - void *allocation_list; -#endif -#ifdef POOL_DEBUG - ap_pool_t *joined; -#endif -}; - -struct ap_table_t { - /* This has to be first to promote backwards compatibility with - * older modules which cast a ap_table_t * to an ap_array_header_t *... - * they should use the table_elts() function for most of the - * cases they do this for. - */ - ap_array_header_t a; -#ifdef MAKE_TABLE_PROFILE - void *creator; -#endif -}; - -/* - * Tables. Implemented alist style, for now, though we try to keep - * it so that imposing a hash table structure on top in the future - * wouldn't be *too* hard... - * - * Note that key comparisons for these are case-insensitive, largely - * because that's what's appropriate and convenient everywhere they're - * currently being used... - */ - -typedef struct ap_table_entry_t { - char *key; /* maybe NULL in future; - * check when iterating thru table_elts - */ - char *val; -} ap_table_entry_t; - -ap_pool_t *ap_init_alloc(void); /* Set up everything */ - -/* used to guarantee to the pool debugging code that the sub pool will not be - * destroyed before the parent pool - */ -#ifndef POOL_DEBUG -#ifdef ap_pool_join -#undef ap_pool_join -#endif /* ap_pool_join */ -#define ap_pool_join(a,b) -#endif /* POOL_DEBUG */ - -/* Clearing out EVERYTHING in an pool... destroys any sub-pools */ - -/* Preparing for exec() --- close files, etc., but *don't* flush I/O - * buffers, *don't* wait for subprocesses, and *don't* free any memory. - */ - -/* routines to allocate memory from an pool... */ - -API_EXPORT_NONSTD(char *) ap_psprintf(struct context_t *, const char *fmt, ...) - __attribute__((format(printf,2,3))); - -/* array and alist management... keeping lists of things. - * Common enough to want common support code ... - */ - -/* ap_array_pstrcat generates a new string from the pool containing - * the concatenated sequence of substrings referenced as elements within - * the array. The string will be empty if all substrings are empty or null, - * or if there are no elements in the array. - * If sep is non-NUL, it will be inserted between elements as a separator. - */ - -/* copy_array copies the *entire* array. copy_array_hdr just copies - * the header, and arranges for the elements to be copied if (and only - * if) the code subsequently does a push or arraycat. - */ - - - -/* Conceptually, ap_overlap_tables does this: - - ap_array_header_t *barr = ap_table_elts(b); - ap_table_entry_t *belt = (ap_table_entry_t *)barr->elts; - int i; - - for (i = 0; i < barr->nelts; ++i) { - if (flags & ap_OVERLAP_TABLES_MERGE) { - ap_table_mergen(a, belt[i].key, belt[i].val); - } - else { - ap_table_setn(a, belt[i].key, belt[i].val); - } - } - - Except that it is more efficient (less space and cpu-time) especially - when b has many elements. - - Notice the assumptions on the keys and values in b -- they must be - in an ancestor of a's pool. In practice b and a are usually from - the same pool. -*/ -#define ap_OVERLAP_TABLES_SET (0) -#define ap_OVERLAP_TABLES_MERGE (1) - -/* XXX: these know about the definition of struct table in alloc.c. That - * definition is not here because it is supposed to be private, and by not - * placing it here we are able to get compile-time diagnostics from modules - * written which assume that a table is the same as an ap_array_header_t. -djg - */ -#define ap_table_elts(t) ((ap_array_header_t *)(t)) -#define ap_is_empty_table(t) (((t) == NULL)||(((ap_array_header_t *)(t))->nelts == 0)) - -/* routines to remember allocation of other sorts of things... - * generic interface first. Note that we want to have two separate - * cleanup functions in the general case, one for exec() preparation, - * to keep CGI scripts and the like from inheriting access to things - * they shouldn't be able to touch, and one for actually cleaning up, - * when the actual server process wants to get rid of the thing, - * whatever it is. - * - * kill_cleanup disarms a cleanup, presumably because the resource in - * question has been closed, freed, or whatever, and it's scarce - * enough to want to reclaim (e.g., descriptors). It arranges for the - * resource not to be cleaned up a second time (it might have been - * reallocated). run_cleanup does the same, but runs it first. - * - * Cleanups are identified for purposes of finding & running them off by the - * plain_cleanup and data, which should presumably be unique. - * - * NB any code which invokes register_cleanup or kill_cleanup directly - * is a critical section which should be guarded by block_alarms() and - * unblock_alarms() below... - */ - -/* A "do-nothing" cleanup, for register_cleanup; it's faster to do - * things this way than to test for NULL. */ - -/* The time between when a resource is actually allocated, and when - * its cleanup is registered is a critical section, during which the - * resource could leak if we got interrupted or timed out. So, anything - * which registers cleanups should bracket resource allocation and the - * cleanup registry with these. (This is done internally by run_cleanup). - * - * NB they are actually implemented in http_main.c, since they are bound - * up with timeout handling in general... - */ - -/* Common cases which want utility support.. - * the note_cleanups_for_foo routines are for - */ - -API_EXPORT(FILE *) ap_pfopen(ap_pool_t *, const char *name, const char *fmode); -API_EXPORT(FILE *) ap_pfdopen(ap_pool_t *, int fd, const char *fmode); -API_EXPORT(int) ap_popenf(ap_pool_t *, const char *name, int flg, int mode); - -API_EXPORT(void) ap_note_cleanups_for_file(ap_pool_t *, FILE *); -API_EXPORT(void) ap_note_cleanups_for_fd(ap_pool_t *, int); -API_EXPORT(void) ap_kill_cleanups_for_fd(ap_pool_t *p, int fd); -API_EXPORT(void) ap_note_cleanups_for_socket(ap_pool_t *, int); -API_EXPORT(void) ap_kill_cleanups_for_socket(ap_pool_t *p, int sock); -API_EXPORT(int) ap_psocket(ap_pool_t *p, int, int, int); -API_EXPORT(int) ap_pclosesocket(ap_pool_t *a, int sock); -API_EXPORT(regex_t *) ap_pregcomp(ap_pool_t *p, const char *pattern, - int cflags); -API_EXPORT(void) ap_pregfree(ap_pool_t *p, regex_t * reg); - -/* routines to note closes... file descriptors are constrained enough - * on some systems that we want to support this. - */ - -API_EXPORT(int) ap_pfclose(ap_pool_t *, FILE *); -API_EXPORT(int) ap_pclosef(ap_pool_t *, int fd); - -/* routines to deal with directories */ -/*API_EXPORT(DIR *) ap_popendir(ap_pool_t *p, const char *name); -API_EXPORT(void) ap_pclosedir(ap_pool_t *p, DIR * d); -*/ -/* ... even child processes (which we may want to wait for, - * or to kill outright, on unexpected termination). - * - * ap_spawn_child is a utility routine which handles an awful lot of - * the rigamarole associated with spawning a child --- it arranges - * for pipes to the child's stdin and stdout, if desired (if not, - * set the associated args to NULL). It takes as args a function - * to call in the child, and an argument to be passed to the function. - */ - -API_EXPORT(void) ap_note_subprocess(struct context_t *a, pid_t pid, - enum kill_conditions how); - -/* magic numbers --- min free bytes to consider a free pool block useable, - * and the min amount to allocate if we have to go to malloc() */ - -#ifndef BLOCK_MINFREE -#define BLOCK_MINFREE 4096 -#endif -#ifndef BLOCK_MINALLOC -#define BLOCK_MINALLOC 8192 -#endif - -/* Finally, some accounting */ - -API_EXPORT(long) ap_bytes_in_pool(ap_pool_t *p); -API_EXPORT(long) ap_bytes_in_free_blocks(void); - -#ifdef __cplusplus -} -#endif - -#endif /* !ap_POOLS_H */ |