summaryrefslogtreecommitdiffstats
path: root/rubbos/app/apache2/include
diff options
context:
space:
mode:
authorhongbotian <hongbo.tianhongbo@huawei.com>2015-11-30 03:10:21 -0500
committerhongbotian <hongbo.tianhongbo@huawei.com>2015-11-30 03:10:21 -0500
commitc0b7206652b2852bc574694e7ba07ba1c2acdc00 (patch)
tree5cb95cb0e19e03610525903df46279df2c3b7eb1 /rubbos/app/apache2/include
parentb6d3d6e668b793220f2d3af1bc3e828553dc3fe6 (diff)
delete app
Change-Id: Id4c572809969ebe89e946e88063eaed262cff3f2 Signed-off-by: hongbotian <hongbo.tianhongbo@huawei.com>
Diffstat (limited to 'rubbos/app/apache2/include')
-rw-r--r--rubbos/app/apache2/include/ap_compat.h28
-rw-r--r--rubbos/app/apache2/include/ap_config.h256
-rw-r--r--rubbos/app/apache2/include/ap_config_auto.h250
-rw-r--r--rubbos/app/apache2/include/ap_config_layout.h59
-rw-r--r--rubbos/app/apache2/include/ap_listen.h119
-rw-r--r--rubbos/app/apache2/include/ap_mmn.h127
-rw-r--r--rubbos/app/apache2/include/ap_mpm.h176
-rw-r--r--rubbos/app/apache2/include/ap_provider.h54
-rw-r--r--rubbos/app/apache2/include/ap_regkey.h218
-rw-r--r--rubbos/app/apache2/include/ap_release.h56
-rw-r--r--rubbos/app/apache2/include/apr.h414
-rw-r--r--rubbos/app/apache2/include/apr_allocator.h170
-rw-r--r--rubbos/app/apache2/include/apr_anylock.h128
-rw-r--r--rubbos/app/apache2/include/apr_atomic.h314
-rw-r--r--rubbos/app/apache2/include/apr_base64.h112
-rw-r--r--rubbos/app/apache2/include/apr_buckets.h1495
-rw-r--r--rubbos/app/apache2/include/apr_compat.h231
-rw-r--r--rubbos/app/apache2/include/apr_date.h106
-rw-r--r--rubbos/app/apache2/include/apr_dbm.h224
-rw-r--r--rubbos/app/apache2/include/apr_dso.h94
-rw-r--r--rubbos/app/apache2/include/apr_env.h67
-rw-r--r--rubbos/app/apache2/include/apr_errno.h1219
-rw-r--r--rubbos/app/apache2/include/apr_file_info.h421
-rw-r--r--rubbos/app/apache2/include/apr_file_io.h766
-rw-r--r--rubbos/app/apache2/include/apr_fnmatch.h105
-rw-r--r--rubbos/app/apache2/include/apr_general.h249
-rw-r--r--rubbos/app/apache2/include/apr_getopt.h158
-rw-r--r--rubbos/app/apache2/include/apr_global_mutex.h153
-rw-r--r--rubbos/app/apache2/include/apr_hash.h201
-rw-r--r--rubbos/app/apache2/include/apr_hooks.h273
-rw-r--r--rubbos/app/apache2/include/apr_inherit.h51
-rw-r--r--rubbos/app/apache2/include/apr_ldap.h176
-rw-r--r--rubbos/app/apache2/include/apr_ldap_url.h84
-rw-r--r--rubbos/app/apache2/include/apr_lib.h228
-rw-r--r--rubbos/app/apache2/include/apr_md4.h135
-rw-r--r--rubbos/app/apache2/include/apr_md5.h158
-rw-r--r--rubbos/app/apache2/include/apr_mmap.h193
-rw-r--r--rubbos/app/apache2/include/apr_network_io.h845
-rw-r--r--rubbos/app/apache2/include/apr_optional.h99
-rw-r--r--rubbos/app/apache2/include/apr_optional_hooks.h117
-rw-r--r--rubbos/app/apache2/include/apr_poll.h253
-rw-r--r--rubbos/app/apache2/include/apr_pools.h664
-rw-r--r--rubbos/app/apache2/include/apr_portable.h505
-rw-r--r--rubbos/app/apache2/include/apr_proc_mutex.h166
-rw-r--r--rubbos/app/apache2/include/apr_queue.h138
-rw-r--r--rubbos/app/apache2/include/apr_reslist.h141
-rw-r--r--rubbos/app/apache2/include/apr_ring.h551
-rw-r--r--rubbos/app/apache2/include/apr_rmm.h137
-rw-r--r--rubbos/app/apache2/include/apr_sdbm.h175
-rw-r--r--rubbos/app/apache2/include/apr_sha1.h121
-rw-r--r--rubbos/app/apache2/include/apr_shm.h127
-rw-r--r--rubbos/app/apache2/include/apr_signal.h98
-rw-r--r--rubbos/app/apache2/include/apr_strings.h337
-rw-r--r--rubbos/app/apache2/include/apr_strmatch.h81
-rw-r--r--rubbos/app/apache2/include/apr_support.h51
-rw-r--r--rubbos/app/apache2/include/apr_tables.h422
-rw-r--r--rubbos/app/apache2/include/apr_thread_cond.h128
-rw-r--r--rubbos/app/apache2/include/apr_thread_mutex.h110
-rw-r--r--rubbos/app/apache2/include/apr_thread_proc.h772
-rw-r--r--rubbos/app/apache2/include/apr_thread_rwlock.h120
-rw-r--r--rubbos/app/apache2/include/apr_time.h245
-rw-r--r--rubbos/app/apache2/include/apr_uri.h181
-rw-r--r--rubbos/app/apache2/include/apr_user.h195
-rw-r--r--rubbos/app/apache2/include/apr_uuid.h76
-rw-r--r--rubbos/app/apache2/include/apr_version.h115
-rw-r--r--rubbos/app/apache2/include/apr_want.h109
-rw-r--r--rubbos/app/apache2/include/apr_xlate.h158
-rw-r--r--rubbos/app/apache2/include/apr_xml.h340
-rw-r--r--rubbos/app/apache2/include/apu.h85
-rw-r--r--rubbos/app/apache2/include/apu_compat.h116
-rw-r--r--rubbos/app/apache2/include/apu_version.h105
-rw-r--r--rubbos/app/apache2/include/apu_want.h50
-rw-r--r--rubbos/app/apache2/include/expat.h1001
-rw-r--r--rubbos/app/apache2/include/fdqueue.h64
-rw-r--r--rubbos/app/apache2/include/http_config.h1018
-rw-r--r--rubbos/app/apache2/include/http_connection.h139
-rw-r--r--rubbos/app/apache2/include/http_core.h640
-rw-r--r--rubbos/app/apache2/include/http_log.h334
-rw-r--r--rubbos/app/apache2/include/http_main.h58
-rw-r--r--rubbos/app/apache2/include/http_protocol.h697
-rw-r--r--rubbos/app/apache2/include/http_request.h373
-rw-r--r--rubbos/app/apache2/include/http_vhost.h109
-rw-r--r--rubbos/app/apache2/include/httpd.h1760
-rw-r--r--rubbos/app/apache2/include/mod_cgi.h62
-rw-r--r--rubbos/app/apache2/include/mod_core.h80
-rw-r--r--rubbos/app/apache2/include/mod_dav.h2420
-rw-r--r--rubbos/app/apache2/include/mod_include.h206
-rw-r--r--rubbos/app/apache2/include/mod_log_config.h63
-rw-r--r--rubbos/app/apache2/include/mod_proxy.h255
-rw-r--r--rubbos/app/apache2/include/mod_ssl.h724
-rw-r--r--rubbos/app/apache2/include/mod_status.h54
-rw-r--r--rubbos/app/apache2/include/mpm.h50
-rw-r--r--rubbos/app/apache2/include/mpm_common.h298
-rw-r--r--rubbos/app/apache2/include/mpm_default.h69
-rw-r--r--rubbos/app/apache2/include/os.h27
-rw-r--r--rubbos/app/apache2/include/pcre.h113
-rw-r--r--rubbos/app/apache2/include/pcreposix.h88
-rw-r--r--rubbos/app/apache2/include/pod.h50
-rw-r--r--rubbos/app/apache2/include/rfc1413.h42
-rw-r--r--rubbos/app/apache2/include/scoreboard.h197
-rw-r--r--rubbos/app/apache2/include/ssl_expr.h104
-rw-r--r--rubbos/app/apache2/include/ssl_expr_parse.h27
-rw-r--r--rubbos/app/apache2/include/ssl_toolkit_compat.h239
-rw-r--r--rubbos/app/apache2/include/ssl_util_ssl.h93
-rw-r--r--rubbos/app/apache2/include/ssl_util_table.h152
-rw-r--r--rubbos/app/apache2/include/unixd.h109
-rw-r--r--rubbos/app/apache2/include/util_cfgtree.h79
-rw-r--r--rubbos/app/apache2/include/util_charset.h54
-rw-r--r--rubbos/app/apache2/include/util_ebcdic.h78
-rw-r--r--rubbos/app/apache2/include/util_filter.h516
-rw-r--r--rubbos/app/apache2/include/util_ldap.h318
-rw-r--r--rubbos/app/apache2/include/util_md5.h70
-rw-r--r--rubbos/app/apache2/include/util_script.h142
-rw-r--r--rubbos/app/apache2/include/util_time.h85
-rw-r--r--rubbos/app/apache2/include/util_xml.h46
115 files changed, 0 insertions, 30304 deletions
diff --git a/rubbos/app/apache2/include/ap_compat.h b/rubbos/app/apache2/include/ap_compat.h
deleted file mode 100644
index 4985bc4d..00000000
--- a/rubbos/app/apache2/include/ap_compat.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* 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 AP_COMPAT_H
-#define AP_COMPAT_H
-
-/* Drag in apu (and therefore apr) renamed symbols */
-#include "apu_compat.h"
-
-/* redefine 1.3.x symbols to the new symbol names */
-
-#define MODULE_VAR_EXPORT AP_MODULE_DECLARE_DATA
-#define ap_send_http_header(r) ;
-
-#endif /* AP_COMPAT_H */
diff --git a/rubbos/app/apache2/include/ap_config.h b/rubbos/app/apache2/include/ap_config.h
deleted file mode 100644
index 9d8db24b..00000000
--- a/rubbos/app/apache2/include/ap_config.h
+++ /dev/null
@@ -1,256 +0,0 @@
-/* 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 AP_CONFIG_H
-#define AP_CONFIG_H
-
-#include "apr.h"
-#include "apr_hooks.h"
-#include "apr_optional_hooks.h"
-
-/**
- * @file ap_config.h
- * @brief Symbol export macros and hook functions
- */
-
-/* Although this file doesn't declare any hooks, declare the hook group here */
-/** @defgroup hooks Apache Hooks */
-
-#ifdef DOXYGEN
-/* define these just so doxygen documents them */
-
-/**
- * AP_DECLARE_STATIC is defined when including Apache's Core headers,
- * to provide static linkage when the dynamic library may be unavailable.
- *
- * @see AP_DECLARE_EXPORT
- *
- * AP_DECLARE_STATIC and AP_DECLARE_EXPORT are left undefined when
- * including Apache's Core headers, to import and link the symbols from the
- * dynamic Apache Core library and assure appropriate indirection and calling
- * conventions at compile time.
- */
-# define AP_DECLARE_STATIC
-/**
- * AP_DECLARE_EXPORT is defined when building the Apache Core dynamic
- * library, so that all public symbols are exported.
- *
- * @see AP_DECLARE_STATIC
- */
-# define AP_DECLARE_EXPORT
-
-#endif /* def DOXYGEN */
-
-#if !defined(WIN32)
-/**
- * Apache Core dso functions are declared with AP_DECLARE(), so they may
- * use the most appropriate calling convention. Hook functions and other
- * Core functions with variable arguments must use AP_DECLARE_NONSTD().
- * @code
- * AP_DECLARE(rettype) ap_func(args)
- * @endcode
- */
-#define AP_DECLARE(type) type
-
-/**
- * Apache Core dso variable argument and hook functions are declared with
- * AP_DECLARE_NONSTD(), as they must use the C language calling convention.
- * @see AP_DECLARE
- * @code
- * AP_DECLARE_NONSTD(rettype) ap_func(args [...])
- * @endcode
- */
-#define AP_DECLARE_NONSTD(type) type
-
-/**
- * Apache Core dso variables are declared with AP_MODULE_DECLARE_DATA.
- * This assures the appropriate indirection is invoked at compile time.
- *
- * @note AP_DECLARE_DATA extern type apr_variable; syntax is required for
- * declarations within headers to properly import the variable.
- * @code
- * AP_DECLARE_DATA type apr_variable
- * @endcode
- */
-#define AP_DECLARE_DATA
-
-#elif defined(AP_DECLARE_STATIC)
-#define AP_DECLARE(type) type __stdcall
-#define AP_DECLARE_NONSTD(type) type
-#define AP_DECLARE_DATA
-#elif defined(AP_DECLARE_EXPORT)
-#define AP_DECLARE(type) __declspec(dllexport) type __stdcall
-#define AP_DECLARE_NONSTD(type) __declspec(dllexport) type
-#define AP_DECLARE_DATA __declspec(dllexport)
-#else
-#define AP_DECLARE(type) __declspec(dllimport) type __stdcall
-#define AP_DECLARE_NONSTD(type) __declspec(dllimport) type
-#define AP_DECLARE_DATA __declspec(dllimport)
-#endif
-
-#if !defined(WIN32) || defined(AP_MODULE_DECLARE_STATIC)
-/**
- * Declare a dso module's exported module structure as AP_MODULE_DECLARE_DATA.
- *
- * Unless AP_MODULE_DECLARE_STATIC is defined at compile time, symbols
- * declared with AP_MODULE_DECLARE_DATA are always exported.
- * @code
- * module AP_MODULE_DECLARE_DATA mod_tag
- * @endcode
- */
-#if defined(WIN32)
-#define AP_MODULE_DECLARE(type) type __stdcall
-#else
-#define AP_MODULE_DECLARE(type) type
-#endif
-#define AP_MODULE_DECLARE_NONSTD(type) type
-#define AP_MODULE_DECLARE_DATA
-#else
-/**
- * AP_MODULE_DECLARE_EXPORT is a no-op. Unless contradicted by the
- * AP_MODULE_DECLARE_STATIC compile-time symbol, it is assumed and defined.
- *
- * The old SHARED_MODULE compile-time symbol is now the default behavior,
- * so it is no longer referenced anywhere with Apache 2.0.
- */
-#define AP_MODULE_DECLARE_EXPORT
-#define AP_MODULE_DECLARE(type) __declspec(dllexport) type __stdcall
-#define AP_MODULE_DECLARE_NONSTD(type) __declspec(dllexport) type
-#define AP_MODULE_DECLARE_DATA __declspec(dllexport)
-#endif
-
-/**
- * Declare a hook function
- * @param ret The return type of the hook
- * @param name The hook's name (as a literal)
- * @param args The arguments the hook function takes, in brackets.
- */
-#define AP_DECLARE_HOOK(ret,name,args) \
- APR_DECLARE_EXTERNAL_HOOK(ap,AP,ret,name,args)
-
-/** @internal */
-#define AP_IMPLEMENT_HOOK_BASE(name) \
- APR_IMPLEMENT_EXTERNAL_HOOK_BASE(ap,AP,name)
-
-/**
- * Implement an Apache core hook that has no return code, and
- * therefore runs all of the registered functions. The implementation
- * is called ap_run_<i>name</i>.
- *
- * @param name The name of the hook
- * @param args_decl The declaration of the arguments for the hook, for example
- * "(int x,void *y)"
- * @param args_use The arguments for the hook as used in a call, for example
- * "(x,y)"
- * @note If IMPLEMENTing a hook that is not linked into the Apache core,
- * (e.g. within a dso) see APR_IMPLEMENT_EXTERNAL_HOOK_VOID.
- */
-#define AP_IMPLEMENT_HOOK_VOID(name,args_decl,args_use) \
- APR_IMPLEMENT_EXTERNAL_HOOK_VOID(ap,AP,name,args_decl,args_use)
-
-/**
- * Implement an Apache core hook that runs until one of the functions
- * returns something other than ok or decline. That return value is
- * then returned from the hook runner. If the hooks run to completion,
- * then ok is returned. Note that if no hook runs it would probably be
- * more correct to return decline, but this currently does not do
- * so. The implementation is called ap_run_<i>name</i>.
- *
- * @param ret The return type of the hook (and the hook runner)
- * @param name The name of the hook
- * @param args_decl The declaration of the arguments for the hook, for example
- * "(int x,void *y)"
- * @param args_use The arguments for the hook as used in a call, for example
- * "(x,y)"
- * @param ok The "ok" return value
- * @param decline The "decline" return value
- * @return ok, decline or an error.
- * @note If IMPLEMENTing a hook that is not linked into the Apache core,
- * (e.g. within a dso) see APR_IMPLEMENT_EXTERNAL_HOOK_RUN_ALL.
- */
-#define AP_IMPLEMENT_HOOK_RUN_ALL(ret,name,args_decl,args_use,ok,decline) \
- APR_IMPLEMENT_EXTERNAL_HOOK_RUN_ALL(ap,AP,ret,name,args_decl, \
- args_use,ok,decline)
-
-/**
- * Implement a hook that runs until a function returns something other than
- * decline. If all functions return decline, the hook runner returns decline.
- * The implementation is called ap_run_<i>name</i>.
- *
- * @param ret The return type of the hook (and the hook runner)
- * @param name The name of the hook
- * @param args_decl The declaration of the arguments for the hook, for example
- * "(int x,void *y)"
- * @param args_use The arguments for the hook as used in a call, for example
- * "(x,y)"
- * @param decline The "decline" return value
- * @return decline or an error.
- * @note If IMPLEMENTing a hook that is not linked into the Apache core
- * (e.g. within a dso) see APR_IMPLEMENT_EXTERNAL_HOOK_RUN_FIRST.
- */
-#define AP_IMPLEMENT_HOOK_RUN_FIRST(ret,name,args_decl,args_use,decline) \
- APR_IMPLEMENT_EXTERNAL_HOOK_RUN_FIRST(ap,AP,ret,name,args_decl, \
- args_use,decline)
-
-/* Note that the other optional hook implementations are straightforward but
- * have not yet been needed
- */
-
-/**
- * Implement an optional hook. This is exactly the same as a standard hook
- * implementation, except the hook is optional.
- * @see AP_IMPLEMENT_HOOK_RUN_ALL
- */
-#define AP_IMPLEMENT_OPTIONAL_HOOK_RUN_ALL(ret,name,args_decl,args_use,ok, \
- decline) \
- APR_IMPLEMENT_OPTIONAL_HOOK_RUN_ALL(ap,AP,ret,name,args_decl, \
- args_use,ok,decline)
-
-/**
- * Hook an optional hook. Unlike static hooks, this uses a macro instead of a
- * function.
- */
-#define AP_OPTIONAL_HOOK(name,fn,pre,succ,order) \
- APR_OPTIONAL_HOOK(ap,name,fn,pre,succ,order)
-
-#include "os.h"
-#if !defined(WIN32) && !defined(NETWARE)
-#include "ap_config_auto.h"
-#include "ap_config_layout.h"
-#endif
-#if defined(NETWARE)
-#define AP_NONBLOCK_WHEN_MULTI_LISTEN 1
-#endif
-
-/* TODO - We need to put OS detection back to make all the following work */
-
-#if defined(SUNOS4) || defined(IRIX) || defined(NEXT) || defined(AUX3) \
- || defined (UW) || defined(LYNXOS) || defined(TPF)
-/* These systems don't do well with any lingering close code; I don't know
- * why -- manoj */
-#define NO_LINGCLOSE
-#endif
-
-/* If APR has OTHER_CHILD logic, use reliable piped logs. */
-#if APR_HAS_OTHER_CHILD
-#define AP_HAVE_RELIABLE_PIPED_LOGS TRUE
-#endif
-
-#if APR_CHARSET_EBCDIC && !defined(APACHE_XLATE)
-#define APACHE_XLATE
-#endif
-
-#endif /* AP_CONFIG_H */
diff --git a/rubbos/app/apache2/include/ap_config_auto.h b/rubbos/app/apache2/include/ap_config_auto.h
deleted file mode 100644
index 701a99e1..00000000
--- a/rubbos/app/apache2/include/ap_config_auto.h
+++ /dev/null
@@ -1,250 +0,0 @@
-/* include/ap_config_auto.h. Generated from ap_config_auto.h.in by configure. */
-/* include/ap_config_auto.h.in. Generated from configure.in by autoheader. */
-/* Define this if struct tm has a field tm_gmtoff */
-#define HAVE_GMTOFF 1
-
-/* Define if building universal (internal helper macro) */
-/* #undef AC_APPLE_UNIVERSAL_BUILD */
-
-/* Location of the source for the current MPM */
-#define APACHE_MPM_DIR "server/mpm/worker"
-
-/* SuExec root directory */
-/* #undef AP_DOC_ROOT */
-
-/* Allow modules to run hook after a fatal exception */
-/* #undef AP_ENABLE_EXCEPTION_HOOK */
-
-/* Allow IPv4 connections on IPv6 listening sockets */
-#define AP_ENABLE_V4_MAPPED 1
-
-/* Minimum allowed GID */
-/* #undef AP_GID_MIN */
-
-/* User allowed to call SuExec */
-/* #undef AP_HTTPD_USER */
-
-/* SuExec log file */
-/* #undef AP_LOG_EXEC */
-
-/* Listening sockets are non-blocking when there are more than 1 */
-#define AP_NONBLOCK_WHEN_MULTI_LISTEN 1
-
-/* safe shell path for SuExec */
-/* #undef AP_SAFE_PATH */
-
-/* Signal used to gracefully restart */
-#define AP_SIG_GRACEFUL SIGUSR1
-
-/* Signal used to gracefully restart (without SIG prefix) */
-#define AP_SIG_GRACEFUL_SHORT USR1
-
-/* Signal used to gracefully restart (as a quoted string) */
-#define AP_SIG_GRACEFUL_STRING "SIGUSR1"
-
-/* umask for suexec'd process */
-/* #undef AP_SUEXEC_UMASK */
-
-/* Location of the MIME types config file, relative to the Apache root
- directory */
-#define AP_TYPES_CONFIG_FILE "conf/mime.types"
-
-/* Minimum allowed UID */
-/* #undef AP_UID_MIN */
-
-/* byte order is unknown due to cross-compilation */
-/* #undef AP_UNKNOWN_BYTE_ORDER */
-
-/* User subdirectory */
-/* #undef AP_USERDIR_SUFFIX */
-
-/* Using autoconf to configure Apache */
-#define AP_USING_AUTOCONF 1
-
-/* Define to 1 if you have the `bindprocessor' function. */
-/* #undef HAVE_BINDPROCESSOR */
-
-/* Define to 1 if you have the <bstring.h> header file. */
-/* #undef HAVE_BSTRING_H */
-
-/* Define to 1 if you have the `getgrnam' function. */
-#define HAVE_GETGRNAM 1
-
-/* Define to 1 if you have the `getpwnam' function. */
-#define HAVE_GETPWNAM 1
-
-/* Define to 1 if you have the <grp.h> header file. */
-#define HAVE_GRP_H 1
-
-/* Define to 1 if you have the `initgroups' function. */
-#define HAVE_INITGROUPS 1
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#define HAVE_INTTYPES_H 1
-
-/* Define to 1 if you have the `killpg' function. */
-#define HAVE_KILLPG 1
-
-/* Define to 1 if you have the <limits.h> header file. */
-#define HAVE_LIMITS_H 1
-
-/* Define to 1 if you have the <memory.h> header file. */
-#define HAVE_MEMORY_H 1
-
-/* Define to 1 if you have the `prctl' function. */
-#define HAVE_PRCTL 1
-
-/* Define to 1 if you have the `pthread_kill' function. */
-#define HAVE_PTHREAD_KILL 1
-
-/* Define to 1 if you have the <pwd.h> header file. */
-#define HAVE_PWD_H 1
-
-/* Define to 1 if you have the `setsid' function. */
-#define HAVE_SETSID 1
-
-/* Define to 1 if you have the `SSL_set_cert_store' function. */
-/* #undef HAVE_SSL_SET_CERT_STORE */
-
-/* Define to 1 if you have the `SSL_set_state' function. */
-/* #undef HAVE_SSL_SET_STATE */
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#define HAVE_STDINT_H 1
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#define HAVE_STDLIB_H 1
-
-/* Define to 1 if you have the <strings.h> header file. */
-#define HAVE_STRINGS_H 1
-
-/* Define to 1 if you have the <string.h> header file. */
-#define HAVE_STRING_H 1
-
-/* Define to 1 if you have the `syslog' function. */
-#define HAVE_SYSLOG 1
-
-/* Define to 1 if you have the <sys/ipc.h> header file. */
-#define HAVE_SYS_IPC_H 1
-
-/* Define to 1 if you have the <sys/prctl.h> header file. */
-#define HAVE_SYS_PRCTL_H 1
-
-/* Define to 1 if you have the <sys/processor.h> header file. */
-/* #undef HAVE_SYS_PROCESSOR_H */
-
-/* Define to 1 if you have the <sys/resource.h> header file. */
-#define HAVE_SYS_RESOURCE_H 1
-
-/* Define to 1 if you have the <sys/sem.h> header file. */
-#define HAVE_SYS_SEM_H 1
-
-/* Define to 1 if you have the <sys/socket.h> header file. */
-#define HAVE_SYS_SOCKET_H 1
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#define HAVE_SYS_STAT_H 1
-
-/* Define to 1 if you have the <sys/times.h> header file. */
-#define HAVE_SYS_TIMES_H 1
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-#define HAVE_SYS_TIME_H 1
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#define HAVE_SYS_TYPES_H 1
-
-/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
-#define HAVE_SYS_WAIT_H 1
-
-/* Define to 1 if you have the `timegm' function. */
-#define HAVE_TIMEGM 1
-
-/* Define to 1 if you have the `times' function. */
-#define HAVE_TIMES 1
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#define HAVE_UNISTD_H 1
-
-/* Define to 1 if you have the <zutil.h> header file. */
-/* #undef HAVE_ZUTIL_H */
-
-/* Root directory of the Apache install area */
-#define HTTPD_ROOT "/bottlenecks/rubbos/app/apache2"
-
-/* Define to the address where bug reports for this package should be sent. */
-#define PACKAGE_BUGREPORT ""
-
-/* Define to the full name of this package. */
-#define PACKAGE_NAME ""
-
-/* Define to the full name and version of this package. */
-#define PACKAGE_STRING ""
-
-/* Define to the one symbol short name of this package. */
-#define PACKAGE_TARNAME ""
-
-/* Define to the version of this package. */
-#define PACKAGE_VERSION ""
-
-/* Location of the config file, relative to the Apache root directory */
-#define SERVER_CONFIG_FILE "conf/httpd.conf"
-
-/* This platform doesn't suffer from the thundering herd problem */
-/* #undef SINGLE_LISTEN_UNSERIALIZED_ACCEPT */
-
-/* Define to 1 if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* Path to suexec binary */
-/* #undef SUEXEC_BIN */
-
-/* Enable extensions on AIX 3, Interix. */
-#ifndef _ALL_SOURCE
-# define _ALL_SOURCE 1
-#endif
-/* Enable GNU extensions on systems that have them. */
-#ifndef _GNU_SOURCE
-# define _GNU_SOURCE 1
-#endif
-/* Enable threading extensions on Solaris. */
-#ifndef _POSIX_PTHREAD_SEMANTICS
-# define _POSIX_PTHREAD_SEMANTICS 1
-#endif
-/* Enable extensions on HP NonStop. */
-#ifndef _TANDEM_SOURCE
-# define _TANDEM_SOURCE 1
-#endif
-/* Enable general extensions on Solaris. */
-#ifndef __EXTENSIONS__
-# define __EXTENSIONS__ 1
-#endif
-
-
-/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
- significant byte first (like Motorola and SPARC, unlike Intel). */
-#if defined AC_APPLE_UNIVERSAL_BUILD
-# if defined __BIG_ENDIAN__
-# define WORDS_BIGENDIAN 1
-# endif
-#else
-# ifndef WORDS_BIGENDIAN
-/* # undef WORDS_BIGENDIAN */
-# endif
-#endif
-
-/* Define to 1 if on MINIX. */
-/* #undef _MINIX */
-
-/* Define to 2 if the system does not provide POSIX.1 features except with
- this defined. */
-/* #undef _POSIX_1_SOURCE */
-
-/* Define to 1 if you need to in order for `stat' and other things to work. */
-/* #undef _POSIX_SOURCE */
-
-/* Define to empty if `const' does not conform to ANSI C. */
-/* #undef const */
-
-/* Define to 'int' if <sys/resource.h> doesn't define it for us */
-/* #undef rlim_t */
diff --git a/rubbos/app/apache2/include/ap_config_layout.h b/rubbos/app/apache2/include/ap_config_layout.h
deleted file mode 100644
index 968d8f34..00000000
--- a/rubbos/app/apache2/include/ap_config_layout.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/* 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 AP_CONFIG_LAYOUT_H
-#define AP_CONFIG_LAYOUT_H
-
-/* Configured Apache directory layout */
-#define DEFAULT_PREFIX "/bottlenecks/rubbos/app/apache2"
-#define DEFAULT_EXP_EXEC_PREFIX "/bottlenecks/rubbos/app/apache2"
-#define DEFAULT_REL_EXEC_PREFIX ""
-#define DEFAULT_EXP_BINDIR "/bottlenecks/rubbos/app/apache2/bin"
-#define DEFAULT_REL_BINDIR "bin"
-#define DEFAULT_EXP_SBINDIR "/bottlenecks/rubbos/app/apache2/bin"
-#define DEFAULT_REL_SBINDIR "bin"
-#define DEFAULT_EXP_LIBEXECDIR "/bottlenecks/rubbos/app/apache2/modules"
-#define DEFAULT_REL_LIBEXECDIR "modules"
-#define DEFAULT_EXP_MANDIR "/bottlenecks/rubbos/app/apache2/man"
-#define DEFAULT_REL_MANDIR "man"
-#define DEFAULT_EXP_SYSCONFDIR "/bottlenecks/rubbos/app/apache2/conf"
-#define DEFAULT_REL_SYSCONFDIR "conf"
-#define DEFAULT_EXP_DATADIR "/bottlenecks/rubbos/app/apache2"
-#define DEFAULT_REL_DATADIR ""
-#define DEFAULT_EXP_INSTALLBUILDDIR "/bottlenecks/rubbos/app/apache2/build"
-#define DEFAULT_REL_INSTALLBUILDDIR "build"
-#define DEFAULT_EXP_ERRORDIR "/bottlenecks/rubbos/app/apache2/error"
-#define DEFAULT_REL_ERRORDIR "error"
-#define DEFAULT_EXP_ICONSDIR "/bottlenecks/rubbos/app/apache2/icons"
-#define DEFAULT_REL_ICONSDIR "icons"
-#define DEFAULT_EXP_HTDOCSDIR "/bottlenecks/rubbos/app/apache2/htdocs"
-#define DEFAULT_REL_HTDOCSDIR "htdocs"
-#define DEFAULT_EXP_MANUALDIR "/bottlenecks/rubbos/app/apache2/manual"
-#define DEFAULT_REL_MANUALDIR "manual"
-#define DEFAULT_EXP_CGIDIR "/bottlenecks/rubbos/app/apache2/cgi-bin"
-#define DEFAULT_REL_CGIDIR "cgi-bin"
-#define DEFAULT_EXP_INCLUDEDIR "/bottlenecks/rubbos/app/apache2/include"
-#define DEFAULT_REL_INCLUDEDIR "include"
-#define DEFAULT_EXP_LOCALSTATEDIR "/bottlenecks/rubbos/app/apache2"
-#define DEFAULT_REL_LOCALSTATEDIR ""
-#define DEFAULT_EXP_RUNTIMEDIR "/bottlenecks/rubbos/app/apache2/logs"
-#define DEFAULT_REL_RUNTIMEDIR "logs"
-#define DEFAULT_EXP_LOGFILEDIR "/bottlenecks/rubbos/app/apache2/logs"
-#define DEFAULT_REL_LOGFILEDIR "logs"
-#define DEFAULT_EXP_PROXYCACHEDIR "/bottlenecks/rubbos/app/apache2/proxy"
-#define DEFAULT_REL_PROXYCACHEDIR "proxy"
-
-#endif /* AP_CONFIG_LAYOUT_H */
diff --git a/rubbos/app/apache2/include/ap_listen.h b/rubbos/app/apache2/include/ap_listen.h
deleted file mode 100644
index 291b8266..00000000
--- a/rubbos/app/apache2/include/ap_listen.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/* 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 AP_LISTEN_H
-#define AP_LISTEN_H
-
-#include "apr_network_io.h"
-#include "httpd.h"
-#include "http_config.h"
-
-/**
- * @package Apache Listeners Library
- */
-
-typedef struct ap_listen_rec ap_listen_rec;
-typedef apr_status_t (*accept_function)(void **csd, ap_listen_rec *lr, apr_pool_t *ptrans);
-
-/**
- * Apache's listeners record. These are used in the Multi-Processing Modules
- * to setup all of the sockets for the MPM to listen to and accept on.
- */
-struct ap_listen_rec {
- /**
- * The next listener in the list
- */
- ap_listen_rec *next;
- /**
- * The actual socket
- */
- apr_socket_t *sd;
- /**
- * The sockaddr the socket should bind to
- */
- apr_sockaddr_t *bind_addr;
- /**
- * The accept function for this socket
- */
- accept_function accept_func;
- /**
- * Is this socket currently active
- */
- int active;
-/* more stuff here, like which protocol is bound to the port */
-};
-
-/**
- * The global list of ap_listen_rec structures
- */
-AP_DECLARE_DATA extern ap_listen_rec *ap_listeners;
-
-/**
- * Setup all of the defaults for the listener list
- */
-void ap_listen_pre_config(void);
-#if !defined(SPMT_OS2_MPM)
-/**
- * Loop through the global ap_listen_rec list and create all of the required
- * sockets. This executes the listen and bind on the sockets.
- * @param s The global server_rec
- * @return The number of open sockets.
- * @warning This function is not available to Windows platforms, or the
- * Prefork or SPMT_OS2 MPMs.
- */
-int ap_setup_listeners(server_rec *s);
-#endif
-/* Split into two #if's to make the exports scripts easier.
- */
-#if defined(SPMT_OS2_MPM)
-/**
- * Create and open a socket on the specified port. This includes listening
- * and binding the socket.
- * @param process The process record for the currently running server
- * @param port The port to open a socket on.
- * @return The number of open sockets
- * @warning This function is only available to Windows platforms, or the
- * Prefork or SPMT_OS2 MPMs.
- */
-int ap_listen_open(process_rec *process, apr_port_t port);
-#endif
-
-/* Although these functions are exported from libmain, they are not really
- * public functions. These functions are actually called while parsing the
- * config file, when one of the LISTEN_COMMANDS directives is read. These
- * should not ever be called by external modules. ALL MPMs should include
- * LISTEN_COMMANDS in their command_rec table so that these functions are
- * called.
- */
-const char *ap_set_listenbacklog(cmd_parms *cmd, void *dummy, const char *arg);
-const char *ap_set_listener(cmd_parms *cmd, void *dummy, const char *ips);
-const char *ap_set_send_buffer_size(cmd_parms *cmd, void *dummy,
- const char *arg);
-AP_DECLARE_NONSTD(const char *) ap_set_receive_buffer_size(cmd_parms *cmd,
- void *dummy,
- const char *arg);
-
-#define LISTEN_COMMANDS \
-AP_INIT_TAKE1("ListenBacklog", ap_set_listenbacklog, NULL, RSRC_CONF, \
- "Maximum length of the queue of pending connections, as used by listen(2)"), \
-AP_INIT_TAKE1("Listen", ap_set_listener, NULL, RSRC_CONF, \
- "A port number or a numeric IP address and a port number"), \
-AP_INIT_TAKE1("SendBufferSize", ap_set_send_buffer_size, NULL, RSRC_CONF, \
- "Send buffer size in bytes"), \
-AP_INIT_TAKE1("ReceiveBufferSize", ap_set_receive_buffer_size, NULL, \
- RSRC_CONF, "Receive buffer size in bytes")
-
-#endif
diff --git a/rubbos/app/apache2/include/ap_mmn.h b/rubbos/app/apache2/include/ap_mmn.h
deleted file mode 100644
index a3704803..00000000
--- a/rubbos/app/apache2/include/ap_mmn.h
+++ /dev/null
@@ -1,127 +0,0 @@
-/* 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 APACHE_AP_MMN_H
-#define APACHE_AP_MMN_H
-
-/**
- * @package Module Magic Number
- */
-
-/*
- * MODULE_MAGIC_NUMBER_MAJOR
- * Major API changes that could cause compatibility problems for older modules
- * such as structure size changes. No binary compatibility is possible across
- * a change in the major version.
- *
- * MODULE_MAGIC_NUMBER_MINOR
- * Minor API changes that do not cause binary compatibility problems.
- * Should be reset to 0 when upgrading MODULE_MAGIC_NUMBER_MAJOR.
- *
- * See the MODULE_MAGIC_AT_LEAST macro below for an example.
- */
-
-/*
- * 20010224 (2.0.13-dev) MODULE_MAGIC_COOKIE reset to "AP20"
- * 20010523 (2.0.19-dev) bump for scoreboard structure reordering
- * 20010627 (2.0.19-dev) more API changes than I can count
- * 20010726 (2.0.22-dev) more big API changes
- * 20010808 (2.0.23-dev) dir d_is_absolute bit introduced, bucket changes, etc
- * 20010825 (2.0.25-dev) removed d_is_absolute, introduced map_to_storage hook
- * 20011002 (2.0.26-dev) removed 1.3-depreciated request_rec.content_language
- * 20011127 (2.0.29-dev) bump for postconfig hook change, and removal of socket
- * from connection record
- * 20011212 (2.0.30-dev) bump for new used_path_info member of request_rec
- * 20011218 (2.0.30-dev) bump for new sbh member of conn_rec, different
- * declarations for scoreboard, new parameter to
- * create_connection hook
- * 20020102 (2.0.30-dev) bump for changed type of limit_req_body in
- * core_dir_config
- * 20020109 (2.0.31-dev) bump for changed shm and scoreboard declarations
- * 20020111 (2.0.31-dev) bump for ETag fields added at end of cor_dir_config
- * 20020114 (2.0.31-dev) mod_dav changed how it asks its provider to fulfill
- * a GET request
- * 20020118 (2.0.31-dev) Input filtering split of blocking and mode
- * 20020127 (2.0.31-dev) bump for pre_mpm hook change
- * 20020128 (2.0.31-dev) bump for pre_config hook change
- * 20020218 (2.0.33-dev) bump for AddOutputFilterByType directive
- * 20020220 (2.0.33-dev) bump for scoreboard.h structure change
- * 20020302 (2.0.33-dev) bump for protocol_filter additions.
- * 20020306 (2.0.34-dev) bump for filter type renames.
- * 20020318 (2.0.34-dev) mod_dav's API for REPORT generation changed
- * 20020319 (2.0.34-dev) M_INVALID changed, plus new M_* methods for RFC 3253
- * 20020327 (2.0.35-dev) Add parameter to quick_handler hook
- * 20020329 (2.0.35-dev) bump for addition of freelists to bucket API
- * 20020329.1 (2.0.36) minor bump for new arg to opt fn ap_cgi_build_command
- * 20020506 (2.0.37-dev) Removed r->boundary in request_rec.
- * 20020529 (2.0.37-dev) Standardized the names of some apr_pool_*_set funcs
- * 20020602 (2.0.37-dev) Bucket API change (metadata buckets)
- * 20020612 (2.0.38-dev) Changed server_rec->[keep_alive_]timeout to apr time
- * 20020625 (2.0.40-dev) Changed conn_rec->keepalive to an enumeration
- * 20020628 (2.0.40-dev) Added filter_init to filter registration functions
- * 20020903 (2.0.41-dev) APR's error constants changed
- * 20020903.2 (2.0.46-dev) add ap_escape_logitem
- * 20020903.3 (2.0.46-dev) allow_encoded_slashes added to core_dir_config
- * 20020903.4 (2.0.47-dev) add ap_is_recursion_limit_exceeded()
- * 20020903.5 (2.0.49-dev) add ap_escape_errorlog_item()
- * 20020903.6 (2.0.49-dev) add insert_error_filter hook
- * 20020903.7 (2.0.49-dev) added XHTML Doctypes
- * 20020903.8 (2.0.50-dev) export ap_set_sub_req_protocol and
- * ap_finalize_sub_req_protocol on Win32 and NetWare
- * 20020903.9 (2.0.51-dev) create pcommands and initialize arrays before
- * calling ap_setup_prelinked_modules
- * 20020903.10 (2.0.55-dev) add ap_log_cerror()
- * 20020903.11 (2.0.55-dev) added trace_enable to core_server_config
- * 20020903.12 (2.0.56-dev) added ap_get_server_revision / ap_version_t
- * 20020903.13 (2.0.62-dev) Add *ftp_directory_charset to proxy_dir_conf
- * 20020903.14 (2.0.64-dev) added ap_vhost_iterate_given_conn
- */
-
-#define MODULE_MAGIC_COOKIE 0x41503230UL /* "AP20" */
-
-#ifndef MODULE_MAGIC_NUMBER_MAJOR
-#define MODULE_MAGIC_NUMBER_MAJOR 20020903
-#endif
-#define MODULE_MAGIC_NUMBER_MINOR 14 /* 0...n */
-
-/**
- * Determine if the server's current MODULE_MAGIC_NUMBER is at least a
- * specified value.
- * <pre>
- * Useful for testing for features.
- * For example, suppose you wish to use the apr_table_overlap
- * function. You can do this:
- *
- * #if AP_MODULE_MAGIC_AT_LEAST(19980812,2)
- * ... use apr_table_overlap()
- * #else
- * ... alternative code which doesn't use apr_table_overlap()
- * #endif
- * </pre>
- * @param major The major module magic number
- * @param minor The minor module magic number
- * @deffunc AP_MODULE_MAGIC_AT_LEAST(int major, int minor)
- */
-#define AP_MODULE_MAGIC_AT_LEAST(major,minor) \
- ((major) < MODULE_MAGIC_NUMBER_MAJOR \
- || ((major) == MODULE_MAGIC_NUMBER_MAJOR \
- && (minor) <= MODULE_MAGIC_NUMBER_MINOR))
-
-/** @deprecated present for backwards compatibility */
-#define MODULE_MAGIC_NUMBER MODULE_MAGIC_NUMBER_MAJOR
-#define MODULE_MAGIC_AT_LEAST old_broken_macro_we_hope_you_are_not_using
-
-#endif /* !APACHE_AP_MMN_H */
diff --git a/rubbos/app/apache2/include/ap_mpm.h b/rubbos/app/apache2/include/ap_mpm.h
deleted file mode 100644
index 9e41e904..00000000
--- a/rubbos/app/apache2/include/ap_mpm.h
+++ /dev/null
@@ -1,176 +0,0 @@
-/* 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 AP_MPM_H
-#define AP_MPM_H
-
-#include "apr_thread_proc.h"
-
-/**
- * @package Multi-Processing Module library
- */
-
-/*
- The MPM, "multi-processing model" provides an abstraction of the
- interface with the OS for distributing incoming connections to
- threads/process for processing. http_main invokes the MPM, and
- the MPM runs until a shutdown/restart has been indicated.
- The MPM calls out to the apache core via the ap_process_connection
- function when a connection arrives.
-
- The MPM may or may not be multithreaded. In the event that it is
- multithreaded, at any instant it guarantees a 1:1 mapping of threads
- ap_process_connection invocations.
-
- Note: In the future it will be possible for ap_process_connection
- to return to the MPM prior to finishing the entire connection; and
- the MPM will proceed with asynchronous handling for the connection;
- in the future the MPM may call ap_process_connection again -- but
- does not guarantee it will occur on the same thread as the first call.
-
- The MPM further guarantees that no asynchronous behaviour such as
- longjmps and signals will interfere with the user code that is
- invoked through ap_process_connection. The MPM may reserve some
- signals for its use (i.e. SIGUSR1), but guarantees that these signals
- are ignored when executing outside the MPM code itself. (This
- allows broken user code that does not handle EINTR to function
- properly.)
-
- The suggested server restart and stop behaviour will be "graceful".
- However the MPM may choose to terminate processes when the user
- requests a non-graceful restart/stop. When this occurs, the MPM kills
- all threads with extreme prejudice, and destroys the pchild pool.
- User cleanups registered in the pchild apr_pool_t will be invoked at
- this point. (This can pose some complications, the user cleanups
- are asynchronous behaviour not unlike longjmp/signal... but if the
- admin is asking for a non-graceful shutdown, how much effort should
- we put into doing it in a nice way?)
-
- unix/posix notes:
- - The MPM does not set a SIGALRM handler, user code may use SIGALRM.
- But the preferred method of handling timeouts is to use the
- timeouts provided by the BUFF abstraction.
- - The proper setting for SIGPIPE is SIG_IGN, if user code changes it
- for any of their own processing, it must be restored to SIG_IGN
- prior to executing or returning to any apache code.
- TODO: add SIGPIPE debugging check somewhere to make sure it's SIG_IGN
-*/
-
-/**
- * This is the function that MPMs must create. This function is responsible
- * for controlling the parent and child processes. It will run until a
- * restart/shutdown is indicated.
- * @param pconf the configuration pool, reset before the config file is read
- * @param plog the log pool, reset after the config file is read
- * @param server_conf the global server config.
- * @return 1 for shutdown 0 otherwise.
- * @deffunc int ap_mpm_run(apr_pool_t *pconf, apr_pool_t *plog, server_rec *server_conf)
- */
-AP_DECLARE(int) ap_mpm_run(apr_pool_t *pconf, apr_pool_t *plog, server_rec *server_conf);
-
-/**
- * predicate indicating if a graceful stop has been requested ...
- * used by the connection loop
- * @return 1 if a graceful stop has been requested, 0 otherwise
- * @deffunc int ap_graceful_stop_signalled(*void)
- */
-AP_DECLARE(int) ap_graceful_stop_signalled(void);
-
-/**
- * Spawn a process with privileges that another module has requested
- * @param r The request_rec of the current request
- * @param newproc The resulting process handle.
- * @param progname The program to run
- * @param const_args the arguments to pass to the new program. The first
- * one should be the program name.
- * @param env The new environment apr_table_t for the new process. This
- * should be a list of NULL-terminated strings.
- * @param attr the procattr we should use to determine how to create the new
- * process
- * @param p The pool to use.
- */
-AP_DECLARE(apr_status_t) ap_os_create_privileged_process(
- const request_rec *r,
- apr_proc_t *newproc,
- const char *progname,
- const char * const *args,
- const char * const *env,
- apr_procattr_t *attr,
- apr_pool_t *p);
-
-/* Subtypes/Values for AP_MPMQ_IS_THREADED and AP_MPMQ_IS_FORKED */
-#define AP_MPMQ_NOT_SUPPORTED 0 /* This value specifies whether */
- /* an MPM is capable of */
- /* threading or forking. */
-#define AP_MPMQ_STATIC 1 /* This value specifies whether */
- /* an MPM is using a static # */
- /* threads or daemons. */
-#define AP_MPMQ_DYNAMIC 2 /* This value specifies whether */
- /* an MPM is using a dynamic # */
- /* threads or daemons. */
-
-/* Values returned for AP_MPMQ_MPM_STATE */
-#define AP_MPMQ_STARTING 0
-#define AP_MPMQ_RUNNING 1
-#define AP_MPMQ_STOPPING 2
-
-#define AP_MPMQ_MAX_DAEMON_USED 1 /* Max # of daemons used so far */
-#define AP_MPMQ_IS_THREADED 2 /* MPM can do threading */
-#define AP_MPMQ_IS_FORKED 3 /* MPM can do forking */
-#define AP_MPMQ_HARD_LIMIT_DAEMONS 4 /* The compiled max # daemons */
-#define AP_MPMQ_HARD_LIMIT_THREADS 5 /* The compiled max # threads */
-#define AP_MPMQ_MAX_THREADS 6 /* # of threads/child by config */
-#define AP_MPMQ_MIN_SPARE_DAEMONS 7 /* Min # of spare daemons */
-#define AP_MPMQ_MIN_SPARE_THREADS 8 /* Min # of spare threads */
-#define AP_MPMQ_MAX_SPARE_DAEMONS 9 /* Max # of spare daemons */
-#define AP_MPMQ_MAX_SPARE_THREADS 10 /* Max # of spare threads */
-#define AP_MPMQ_MAX_REQUESTS_DAEMON 11 /* Max # of requests per daemon */
-#define AP_MPMQ_MAX_DAEMONS 12 /* Max # of daemons by config */
-#define AP_MPMQ_MPM_STATE 13 /* starting, running, stopping */
-
-/**
- * Query a property of the current MPM.
- * @param query_code One of APM_MPMQ_*
- * @param result A location to place the result of the query
- * @return APR_SUCCESS or APR_ENOTIMPL
- * @deffunc int ap_mpm_query(int query_code, int *result)
- */
-AP_DECLARE(apr_status_t) ap_mpm_query(int query_code, int *result);
-
-/* Defining GPROF when compiling uses the moncontrol() function to
- * disable gprof profiling in the parent, and enable it only for
- * request processing in children (or in one_process mode). It's
- * absolutely required to get useful gprof results under linux
- * because the profile itimers and such are disabled across a
- * fork(). It's probably useful elsewhere as well.
- */
-#ifdef GPROF
-extern void moncontrol(int);
-#define AP_MONCONTROL(x) moncontrol(x)
-#else
-#define AP_MONCONTROL(x)
-#endif
-
-#if AP_ENABLE_EXCEPTION_HOOK
-typedef struct ap_exception_info_t {
- int sig;
- pid_t pid;
-} ap_exception_info_t;
-
-AP_DECLARE_HOOK(int,fatal_exception,(ap_exception_info_t *ei))
-#endif /*AP_ENABLE_EXCEPTION_HOOK*/
-
-#endif
diff --git a/rubbos/app/apache2/include/ap_provider.h b/rubbos/app/apache2/include/ap_provider.h
deleted file mode 100644
index e9045bae..00000000
--- a/rubbos/app/apache2/include/ap_provider.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* 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 AP_PROVIDER_H
-#define AP_PROVIDER_H
-
-#include "ap_config.h"
-
-/**
- * @package Provider API
- */
-
-/**
- * This function is used to register a provider with the global
- * provider pool.
- * @param pool The pool to create any storage from
- * @param provider_group The group to store the provider in
- * @param provider_name The name for this provider
- * @param provider_version The version for this provider
- * @param provider Opaque structure for this provider
- * @return APR_SUCCESS if all went well
- */
-AP_DECLARE(apr_status_t) ap_register_provider(apr_pool_t *pool,
- const char *provider_group,
- const char *provider_name,
- const char *provider_version,
- const void *provider);
-
-/**
- * This function is used to retrieve a provider from the global
- * provider pool.
- * @param provider_group The group to look for this provider in
- * @param provider_name The name for the provider
- * @param provider_version The version for the provider
- * @return provider pointer to provider if found, NULL otherwise
- */
-AP_DECLARE(void *) ap_lookup_provider(const char *provider_group,
- const char *provider_name,
- const char *provider_version);
-
-#endif
diff --git a/rubbos/app/apache2/include/ap_regkey.h b/rubbos/app/apache2/include/ap_regkey.h
deleted file mode 100644
index d3f41297..00000000
--- a/rubbos/app/apache2/include/ap_regkey.h
+++ /dev/null
@@ -1,218 +0,0 @@
-/* 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 AP_REGKEY_H
-#define AP_REGKEY_H
-
-#if defined(WIN32) || defined(DOXYGEN)
-
-#include "apr.h"
-#include "apr_pools.h"
-#include "ap_config.h" /* Just for AP_DECLARE */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct ap_regkey_t ap_regkey_t;
-
-/* Used to recover AP_REGKEY_* constants
- */
-AP_DECLARE(const ap_regkey_t *) ap_regkey_const(int i);
-
-/**
- * @file ap_regkey.h
- * @brief APR-style Win32 Registry Manipulation
- */
-
-/**
- * Win32 Only: Constants for ap_regkey_open()
- */
-#define AP_REGKEY_CLASSES_ROOT ap_regkey_const(0)
-#define AP_REGKEY_CURRENT_CONFIG ap_regkey_const(1)
-#define AP_REGKEY_CURRENT_USER ap_regkey_const(2)
-#define AP_REGKEY_LOCAL_MACHINE ap_regkey_const(3)
-#define AP_REGKEY_USERS ap_regkey_const(4)
-#define AP_REGKEY_PERFORMANCE_DATA ap_regkey_const(5)
-#define AP_REGKEY_DYN_DATA ap_regkey_const(6)
-
-/**
- * Win32 Only: Flags for ap_regkey_value_set()
- */
-#define AP_REGKEY_EXPAND 0x0001
-
-/**
- * Win32 Only: Open the specified registry key.
- * @param newkey The opened registry key
- * @param parentkey The open registry key of the parent, or one of
- * <PRE>
- * AP_REGKEY_CLASSES_ROOT
- * AP_REGKEY_CURRENT_CONFIG
- * AP_REGKEY_CURRENT_USER
- * AP_REGKEY_LOCAL_MACHINE
- * AP_REGKEY_USERS
- * AP_REGKEY_PERFORMANCE_DATA
- * AP_REGKEY_DYN_DATA
- * </PRE>
- * @param keyname The path of the key relative to the parent key
- * @param flags Or'ed value of:
- * <PRE>
- * APR_READ open key for reading
- * APR_WRITE open key for writing
- * APR_CREATE create the key if it doesn't exist
- * APR_EXCL return error if APR_CREATE and key exists
- * </PRE>
- * @param pool The pool in which newkey is allocated
- */
-AP_DECLARE(apr_status_t) ap_regkey_open(ap_regkey_t **newkey,
- const ap_regkey_t *parentkey,
- const char *keyname,
- apr_int32_t flags,
- apr_pool_t *pool);
-
-/**
- * Win32 Only: Close the registry key opened or created by ap_regkey_open().
- * @param key The registry key to close
- */
-AP_DECLARE(apr_status_t) ap_regkey_close(ap_regkey_t *key);
-
-/**
- * Win32 Only: Remove the given registry key.
- * @param parentkey The open registry key of the parent, or one of
- * <PRE>
- * AP_REGKEY_CLASSES_ROOT
- * AP_REGKEY_CURRENT_CONFIG
- * AP_REGKEY_CURRENT_USER
- * AP_REGKEY_LOCAL_MACHINE
- * AP_REGKEY_USERS
- * AP_REGKEY_PERFORMANCE_DATA
- * AP_REGKEY_DYN_DATA
- * </PRE>
- * @param keyname The path of the key relative to the parent key
- * @param pool The pool used for temp allocations
- * @remark ap_regkey_remove() is not recursive, although it removes
- * all values within the given keyname, it will not remove a key
- * containing subkeys.
- */
-AP_DECLARE(apr_status_t) ap_regkey_remove(const ap_regkey_t *parent,
- const char *keyname,
- apr_pool_t *pool);
-
-/**
- * Win32 Only: Retrieve a registry value string from an open key.
- * @param result The string value retrieved
- * @param key The registry key to retrieve the value from
- * @param valuename The named value to retrieve (pass "" for the default)
- * @param pool The pool used to store the result
- * @remark There is no toggle to prevent environment variable expansion
- * if the registry value is set with AP_REG_EXPAND (REG_EXPAND_SZ), such
- * expansions are always performed.
- */
-AP_DECLARE(apr_status_t) ap_regkey_value_get(char **result,
- ap_regkey_t *key,
- const char *valuename,
- apr_pool_t *pool);
-
-/**
- * Win32 Only: Store a registry value string into an open key.
- * @param key The registry key to store the value into
- * @param valuename The named value to store (pass "" for the default)
- * @param value The string to store for the named value
- * @param flags The option AP_REGKEY_EXPAND or 0, where AP_REGKEY_EXPAND
- * values will find all %foo% variables expanded from the environment.
- * @param pool The pool used for temp allocations
- */
-AP_DECLARE(apr_status_t) ap_regkey_value_set(ap_regkey_t *key,
- const char *valuename,
- const char *value,
- apr_int32_t flags,
- apr_pool_t *pool);
-
-/**
- * Win32 Only: Retrieve a raw byte value from an open key.
- * @param result The raw bytes value retrieved
- * @param resultsize Pointer to a variable to store the number raw bytes retrieved
- * @param key The registry key to retrieve the value from
- * @param valuename The named value to retrieve (pass "" for the default)
- * @param pool The pool used to store the result
- */
-AP_DECLARE(apr_status_t) ap_regkey_value_raw_get(void **result,
- apr_size_t *resultsize,
- apr_int32_t *resulttype,
- ap_regkey_t *key,
- const char *valuename,
- apr_pool_t *pool);
-
-/**
- * Win32 Only: Store a raw bytes value into an open key.
- * @param key The registry key to store the value into
- * @param valuename The named value to store (pass "" for the default)
- * @param value The bytes to store for the named value
- * @param valuesize The number of bytes for value
- * @param valuetype The
- * values will find all %foo% variables expanded from the environment.
- * @param pool The pool used for temp allocations
- */
-AP_DECLARE(apr_status_t) ap_regkey_value_raw_set(ap_regkey_t *key,
- const char *valuename,
- const void *value,
- apr_size_t valuesize,
- apr_int32_t valuetype,
- apr_pool_t *pool);
-
-/**
- * Win32 Only: Retrieve a registry value string from an open key.
- * @param result The string elements retrieved from a REG_MULTI_SZ string array
- * @param key The registry key to retrieve the value from
- * @param valuename The named value to retrieve (pass "" for the default)
- * @param pool The pool used to store the result
- */
-AP_DECLARE(apr_status_t) ap_regkey_value_array_get(apr_array_header_t **result,
- ap_regkey_t *key,
- const char *valuename,
- apr_pool_t *pool);
-
-/**
- * Win32 Only: Store a registry value string array into an open key.
- * @param key The registry key to store the value into
- * @param valuename The named value to store (pass "" for the default)
- * @param nelts The string elements to store in a REG_MULTI_SZ string array
- * @param elts The number of elements in the elts string array
- * @param pool The pool used for temp allocations
- */
-AP_DECLARE(apr_status_t) ap_regkey_value_array_set(ap_regkey_t *key,
- const char *valuename,
- int nelts,
- const char * const * elts,
- apr_pool_t *pool);
-
-/**
- * Win32 Only: Remove a registry value from an open key.
- * @param key The registry key to remove the value from
- * @param valuename The named value to remove (pass "" for the default)
- * @param pool The pool used for temp allocations
- */
-AP_DECLARE(apr_status_t) ap_regkey_value_remove(const ap_regkey_t *key,
- const char *valuename,
- apr_pool_t *pool);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* def WIN32 || def DOXYGEN */
-
-#endif /* AP_REGKEY_H */
diff --git a/rubbos/app/apache2/include/ap_release.h b/rubbos/app/apache2/include/ap_release.h
deleted file mode 100644
index 9fee3f4f..00000000
--- a/rubbos/app/apache2/include/ap_release.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* 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 AP_RELEASE_H
-#define AP_RELEASE_H
-
-#include "apr_general.h" /* stringify */
-
-#define AP_SERVER_COPYRIGHT \
- "Copyright 2009 The Apache Software Foundation."
-
-/*
- * The below defines the base string of the Server: header. Additional
- * tokens can be added via the ap_add_version_component() API call.
- *
- * The tokens are listed in order of their significance for identifying the
- * application.
- *
- * "Product tokens should be short and to the point -- use of them for
- * advertizing or other non-essential information is explicitly forbidden."
- *
- * Example: "Apache/1.1.0 MrWidget/0.1-alpha"
- */
-#define AP_SERVER_BASEVENDOR "Apache Software Foundation"
-#define AP_SERVER_BASEPRODUCT "Apache"
-
-#define AP_SERVER_MAJORVERSION_NUMBER 2
-#define AP_SERVER_MINORVERSION_NUMBER 0
-#define AP_SERVER_PATCHLEVEL_NUMBER 64
-#define AP_SERVER_ADD_STRING ""
-
-/* keep old macros as well */
-#define AP_SERVER_MAJORVERSION APR_STRINGIFY(AP_SERVER_MAJORVERSION_NUMBER)
-#define AP_SERVER_MINORVERSION APR_STRINGIFY(AP_SERVER_MINORVERSION_NUMBER)
-#define AP_SERVER_PATCHLEVEL APR_STRINGIFY(AP_SERVER_PATCHLEVEL_NUMBER) \
- AP_SERVER_ADD_STRING
-
-#define AP_SERVER_MINORREVISION AP_SERVER_MAJORVERSION "." AP_SERVER_MINORVERSION
-#define AP_SERVER_BASEREVISION AP_SERVER_MINORREVISION "." AP_SERVER_PATCHLEVEL
-#define AP_SERVER_BASEVERSION AP_SERVER_BASEPRODUCT "/" AP_SERVER_BASEREVISION
-#define AP_SERVER_VERSION AP_SERVER_BASEVERSION
-
-#endif
diff --git a/rubbos/app/apache2/include/apr.h b/rubbos/app/apache2/include/apr.h
deleted file mode 100644
index 276e0ab6..00000000
--- a/rubbos/app/apache2/include/apr.h
+++ /dev/null
@@ -1,414 +0,0 @@
-/* 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 APR_H
-#define APR_H
-
-/* GENERATED FILE WARNING! DO NOT EDIT apr.h
- *
- * You must modify apr.h.in instead.
- *
- * And please, make an effort to stub apr.hw and apr.hnw in the process.
- */
-
-/**
- * @file apr.h
- * @brief APR Platform Definitions
- * @remark This is a generated header generated from include/apr.h.in by
- * ./configure, or copied from include/apr.hw or include/apr.hnw
- * for Win32 or Netware by those build environments, respectively.
- */
-
-/**
- * @defgroup APR Apache Portability Runtime library
- * @{
- */
-/**
- * @defgroup apr_platform Platform Definitions
- * @{
- * @warning
- * <strong><em>The actual values of macros and typedefs on this page<br>
- * are platform specific and should NOT be relied upon!</em></strong>
- */
-
-/* So that we can use inline on some critical functions, and use
- * GNUC attributes (such as to get -Wall warnings for printf-like
- * functions). Only do this in gcc 2.7 or later ... it may work
- * on earlier stuff, but why chance it.
- *
- * We've since discovered that the gcc shipped with NeXT systems
- * as "cc" is completely broken. It claims to be __GNUC__ and so
- * on, but it doesn't implement half of the things that __GNUC__
- * means. In particular it's missing inline and the __attribute__
- * stuff. So we hack around it. PR#1613. -djg
- */
-#if !defined(__GNUC__) || __GNUC__ < 2 || \
- (__GNUC__ == 2 && __GNUC_MINOR__ < 7) ||\
- defined(NEXT)
-#ifndef __attribute__
-#define __attribute__(__x)
-#endif
-#define APR_INLINE
-#define APR_HAS_INLINE 0
-#else
-#define APR_INLINE __inline__
-#define APR_HAS_INLINE 1
-#endif
-
-#define APR_HAVE_ARPA_INET_H 1
-#define APR_HAVE_CONIO_H 0
-#define APR_HAVE_CRYPT_H 1
-#define APR_HAVE_CTYPE_H 1
-#define APR_HAVE_DIRENT_H 1
-#define APR_HAVE_ERRNO_H 1
-#define APR_HAVE_FCNTL_H 1
-#define APR_HAVE_IO_H 0
-#define APR_HAVE_LIMITS_H 1
-#define APR_HAVE_NETDB_H 1
-#define APR_HAVE_NETINET_IN_H 1
-#define APR_HAVE_NETINET_SCTP_H 0
-#define APR_HAVE_NETINET_SCTP_UIO_H 0
-#define APR_HAVE_NETINET_TCP_H 1
-#define APR_HAVE_PTHREAD_H 1
-#define APR_HAVE_SEMAPHORE_H 1
-#define APR_HAVE_SIGNAL_H 1
-#define APR_HAVE_STDARG_H 1
-#define APR_HAVE_STDINT_H 1
-#define APR_HAVE_STDIO_H 1
-#define APR_HAVE_STDLIB_H 1
-#define APR_HAVE_STRING_H 1
-#define APR_HAVE_STRINGS_H 1
-#define APR_HAVE_SYS_IOCTL_H 1
-#define APR_HAVE_SYS_SENDFILE_H 1
-#define APR_HAVE_SYS_SIGNAL_H 1
-#define APR_HAVE_SYS_SOCKET_H 1
-#define APR_HAVE_SYS_SOCKIO_H 0
-#define APR_HAVE_SYS_SYSLIMITS_H 0
-#define APR_HAVE_SYS_TIME_H 1
-#define APR_HAVE_SYS_TYPES_H 1
-#define APR_HAVE_SYS_UIO_H 1
-#define APR_HAVE_SYS_UN_H 1
-#define APR_HAVE_SYS_WAIT_H 1
-#define APR_HAVE_TIME_H 1
-#define APR_HAVE_UNISTD_H 1
-
-/** @} */
-
-/* We don't include our conditional headers within the doxyblocks
- * or the extern "C" namespace
- */
-
-#if APR_HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-
-#if APR_HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-
-#if defined(__cplusplus) && !defined(__STDC_CONSTANT_MACROS)
-/* C99 7.18.4 requires that stdint.h only exposes INT64_C
- * and UINT64_C for C++ implementations if this is defined: */
-#define __STDC_CONSTANT_MACROS
-#endif
-
-#if APR_HAVE_STDINT_H
-#include <stdint.h>
-#endif
-
-#if APR_HAVE_SYS_WAIT_H
-#include <sys/wait.h>
-#endif
-
-#ifdef OS2
-#define INCL_DOS
-#define INCL_DOSERRORS
-#include <os2.h>
-#endif
-
-/* header files for PATH_MAX, _POSIX_PATH_MAX */
-#if APR_HAVE_LIMITS_H
-#include <limits.h>
-#else
-#if APR_HAVE_SYS_SYSLIMITS_H
-#include <sys/syslimits.h>
-#endif
-#endif
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @addtogroup apr_platform
- * @ingroup APR
- * @{
- */
-
-#define APR_HAVE_SHMEM_MMAP_TMP 1
-#define APR_HAVE_SHMEM_MMAP_SHM 1
-#define APR_HAVE_SHMEM_MMAP_ZERO 1
-#define APR_HAVE_SHMEM_SHMGET_ANON 1
-#define APR_HAVE_SHMEM_SHMGET 1
-#define APR_HAVE_SHMEM_MMAP_ANON 1
-#define APR_HAVE_SHMEM_BEOS 0
-
-#define APR_USE_SHMEM_MMAP_TMP 0
-#define APR_USE_SHMEM_MMAP_SHM 0
-#define APR_USE_SHMEM_MMAP_ZERO 0
-#define APR_USE_SHMEM_SHMGET_ANON 0
-#define APR_USE_SHMEM_SHMGET 1
-#define APR_USE_SHMEM_MMAP_ANON 1
-#define APR_USE_SHMEM_BEOS 0
-
-#define APR_USE_FLOCK_SERIALIZE 0
-#define APR_USE_SYSVSEM_SERIALIZE 1
-#define APR_USE_POSIXSEM_SERIALIZE 0
-#define APR_USE_FCNTL_SERIALIZE 0
-#define APR_USE_PROC_PTHREAD_SERIALIZE 0
-#define APR_USE_PTHREAD_SERIALIZE 1
-
-#define APR_HAS_FLOCK_SERIALIZE 1
-#define APR_HAS_SYSVSEM_SERIALIZE 1
-#define APR_HAS_POSIXSEM_SERIALIZE 0
-#define APR_HAS_FCNTL_SERIALIZE 1
-#define APR_HAS_PROC_PTHREAD_SERIALIZE 1
-#define APR_HAS_RWLOCK_SERIALIZE 0
-
-#define APR_PROCESS_LOCK_IS_GLOBAL 0
-
-#define APR_HAVE_CORKABLE_TCP 1
-#define APR_HAVE_GETRLIMIT 1
-#define APR_HAVE_IN_ADDR 1
-#define APR_HAVE_INET_ADDR 1
-#define APR_HAVE_INET_NETWORK 1
-#define APR_HAVE_IPV6 1
-#define APR_HAVE_MEMMOVE 1
-#define APR_HAVE_SETRLIMIT 1
-#define APR_HAVE_SIGACTION 1
-#define APR_HAVE_SIGSUSPEND 1
-#define APR_HAVE_SIGWAIT 1
-#define APR_HAVE_STRCASECMP 1
-#define APR_HAVE_STRDUP 1
-#define APR_HAVE_STRICMP 0
-#define APR_HAVE_STRNCASECMP 1
-#define APR_HAVE_STRNICMP 0
-#define APR_HAVE_STRSTR 1
-#define APR_HAVE_MEMCHR 1
-#define APR_HAVE_STRUCT_RLIMIT 1
-#define APR_HAVE_UNION_SEMUN 0
-#define APR_HAVE_SCTP 0
-
-/* APR Feature Macros */
-#define APR_HAS_SHARED_MEMORY 1
-#define APR_HAS_THREADS 1
-#define APR_HAS_SENDFILE 1
-#define APR_HAS_MMAP 1
-#define APR_HAS_FORK 1
-#define APR_HAS_RANDOM 1
-#define APR_HAS_OTHER_CHILD 1
-#define APR_HAS_DSO 1
-#define APR_HAS_SO_ACCEPTFILTER 0
-#define APR_HAS_UNICODE_FS 0
-#define APR_HAS_PROC_INVOKED 0
-#define APR_HAS_USER 1
-#define APR_HAS_LARGE_FILES 0
-#define APR_HAS_XTHREAD_FILES 0
-#define APR_HAS_OS_UUID 0
-
-/* APR sets APR_FILES_AS_SOCKETS to 1 on systems where it is possible
- * to poll on files/pipes. On such a system, the application can
- * call apr_socket_from_file() to get an APR socket representation and
- * then pass the socket representation to apr_poll_socket_add().
- */
-#define APR_FILES_AS_SOCKETS 1
-
-/* Not all platforms have a real INADDR_NONE. This macro replaces INADDR_NONE
- * on all platforms.
- */
-#define APR_INADDR_NONE INADDR_NONE
-
-/* This macro indicates whether or not EBCDIC is the native character set.
- */
-#define APR_CHARSET_EBCDIC 0
-
-/* If we have a TCP implementation that can be "corked", what flag
- * do we use?
- */
-#define APR_TCP_NOPUSH_FLAG TCP_CORK
-
-/* Is the TCP_NODELAY socket option inherited from listening sockets?
-*/
-#define APR_TCP_NODELAY_INHERITED 1
-
-/* Is the O_NONBLOCK flag inherited from listening sockets?
-*/
-#define APR_O_NONBLOCK_INHERITED 0
-
-/* Typedefs that APR needs. */
-
-typedef unsigned char apr_byte_t;
-
-typedef short apr_int16_t;
-typedef unsigned short apr_uint16_t;
-
-typedef int apr_int32_t;
-typedef unsigned int apr_uint32_t;
-
-typedef long apr_int64_t;
-typedef unsigned long apr_uint64_t;
-
-typedef size_t apr_size_t;
-typedef ssize_t apr_ssize_t;
-typedef off_t apr_off_t;
-typedef socklen_t apr_socklen_t;
-
-typedef unsigned long apr_ino_t;
-
-#define APR_SIZEOF_VOIDP 8
-
-/* Mechanisms to properly type numeric literals */
-#define APR_INT64_C(val) INT64_C(val)
-
-/* Definitions that APR programs need to work properly. */
-
-/**
- * Thread callbacks from APR functions must be declared with APR_THREAD_FUNC,
- * so that they follow the platform's calling convention.
- * @example
- */
-/** void* APR_THREAD_FUNC my_thread_entry_fn(apr_thread_t *thd, void *data);
- */
-#define APR_THREAD_FUNC
-
-/**
- * The public APR functions are declared with APR_DECLARE(), so they may
- * use the most appropriate calling convention. Public APR functions with
- * variable arguments must use APR_DECLARE_NONSTD().
- *
- * @remark Both the declaration and implementations must use the same macro.
- * @example
- */
-/** APR_DECLARE(rettype) apr_func(args)
- * @see APR_DECLARE_NONSTD @see APR_DECLARE_DATA
- * @remark Note that when APR compiles the library itself, it passes the
- * symbol -DAPR_DECLARE_EXPORT to the compiler on some platforms (e.g. Win32)
- * to export public symbols from the dynamic library build.\n
- * The user must define the APR_DECLARE_STATIC when compiling to target
- * the static APR library on some platforms (e.g. Win32.) The public symbols
- * are neither exported nor imported when APR_DECLARE_STATIC is defined.\n
- * By default, compiling an application and including the APR public
- * headers, without defining APR_DECLARE_STATIC, will prepare the code to be
- * linked to the dynamic library.
- */
-#define APR_DECLARE(type) type
-
-/**
- * The public APR functions using variable arguments are declared with
- * APR_DECLARE_NONSTD(), as they must follow the C language calling convention.
- * @see APR_DECLARE @see APR_DECLARE_DATA
- * @remark Both the declaration and implementations must use the same macro.
- * @example
- */
-/** APR_DECLARE_NONSTD(rettype) apr_func(args, ...);
- */
-#define APR_DECLARE_NONSTD(type) type
-
-/**
- * The public APR variables are declared with AP_MODULE_DECLARE_DATA.
- * This assures the appropriate indirection is invoked at compile time.
- * @see APR_DECLARE @see APR_DECLARE_NONSTD
- * @remark Note that the declaration and implementations use different forms,
- * but both must include the macro.
- * @example
- */
-/** extern APR_DECLARE_DATA type apr_variable;\n
- * APR_DECLARE_DATA type apr_variable = value;
- */
-#define APR_DECLARE_DATA
-
-/* Define APR_SSIZE_T_FMT.
- * If ssize_t is an integer we define it to be "d",
- * if ssize_t is a long int we define it to be "ld",
- * if ssize_t is neither we declare an error here.
- * I looked for a better way to define this here, but couldn't find one, so
- * to find the logic for this definition search for "ssize_t_fmt" in
- * configure.in.
- */
-#define APR_SSIZE_T_FMT "ld"
-
-/* And APR_SIZE_T_FMT */
-#define APR_SIZE_T_FMT "ld"
-
-/* And APR_OFF_T_FMT */
-#define APR_OFF_T_FMT "ld"
-
-/* And APR_PID_T_FMT */
-#define APR_PID_T_FMT "d"
-
-/* And APR_INT64_T_FMT */
-#define APR_INT64_T_FMT "ld"
-#define APR_INT64_T_FMT_LEN 2
-
-/* And APR_UINT64_T_FMT */
-#define APR_UINT64_T_FMT "lu"
-#define APR_UINT64_T_FMT_LEN 2
-
-/* And APR_UINT64_T_HEX_FMT */
-#define APR_UINT64_T_HEX_FMT "lx"
-#define APR_UINT64_T_HEX_FMT_LEN (sizeof(APR_UINT64_T_HEX_FMT) - 1)
-
-/* Deal with atoi64 variables ... these should move to apr_private.h */
-#define APR_HAVE_INT64_STRFN 1
-#define APR_INT64_STRFN strtol
-
-/* are we going to force the generic atomic operations */
-#define APR_FORCE_ATOMIC_GENERIC 1
-
-/* Does the proc mutex lock threads too */
-#define APR_PROC_MUTEX_IS_GLOBAL 0
-
-/* Local machine definition for console and log output. */
-#define APR_EOL_STR "\n"
-
-
-#if APR_HAVE_SYS_WAIT_H
-#ifdef WEXITSTATUS
-#define apr_wait_t int
-#else
-#define apr_wait_t union wait
-#define WEXITSTATUS(status) (int)((status).w_retcode)
-#define WTERMSIG(status) (int)((status).w_termsig)
-#endif /* !WEXITSTATUS */
-#endif /* HAVE_SYS_WAIT_H */
-
-#if defined(PATH_MAX)
-#define APR_PATH_MAX PATH_MAX
-#elif defined(_POSIX_PATH_MAX)
-#define APR_PATH_MAX _POSIX_PATH_MAX
-#else
-#error no decision has been made on APR_PATH_MAX for your platform
-#endif
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* APR_H */
diff --git a/rubbos/app/apache2/include/apr_allocator.h b/rubbos/app/apache2/include/apr_allocator.h
deleted file mode 100644
index b880c4e2..00000000
--- a/rubbos/app/apache2/include/apr_allocator.h
+++ /dev/null
@@ -1,170 +0,0 @@
-/* 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 APR_ALLOCATOR_H
-#define APR_ALLOCATOR_H
-
-/**
- * @file apr_allocator.h
- * @brief APR Internal Memory Allocation
- */
-
-#include "apr.h"
-#include "apr_errno.h"
-#define APR_WANT_MEMFUNC /**< For no good reason? */
-#include "apr_want.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @defgroup apr_allocator Internal Memory Allocation
- * @ingroup APR
- * @{
- */
-
-/** the allocator structure */
-typedef struct apr_allocator_t apr_allocator_t;
-/** the structure which holds information about the allocation */
-typedef struct apr_memnode_t apr_memnode_t;
-
-/** basic memory node structure */
-struct apr_memnode_t {
- apr_memnode_t *next; /**< next memnode */
- apr_memnode_t **ref; /**< reference to self */
- apr_uint32_t index; /**< size */
- apr_uint32_t free_index; /**< how much free */
- char *first_avail; /**< pointer to first free memory */
- char *endp; /**< pointer to end of free memory */
-};
-
-/** The base size of a memory node - aligned. */
-#define APR_MEMNODE_T_SIZE APR_ALIGN_DEFAULT(sizeof(apr_memnode_t))
-
-/** Symbolic constants */
-#define APR_ALLOCATOR_MAX_FREE_UNLIMITED 0
-
-/**
- * Create a new allocator
- * @param allocator The allocator we have just created.
- *
- */
-APR_DECLARE(apr_status_t) apr_allocator_create(apr_allocator_t **allocator);
-
-/**
- * Destroy an allocator
- * @param allocator The allocator to be destroyed
- * @remark Any memnodes not given back to the allocator prior to destroying
- * will _not_ be free()d.
- */
-APR_DECLARE(void) apr_allocator_destroy(apr_allocator_t *allocator);
-
-/**
- * Allocate a block of mem from the allocator
- * @param allocator The allocator to allocate from
- * @param size The size of the mem to allocate (excluding the
- * memnode structure)
- */
-APR_DECLARE(apr_memnode_t *) apr_allocator_alloc(apr_allocator_t *allocator,
- apr_size_t size);
-
-/**
- * Free a block of mem, giving it back to the allocator
- * @param allocator The allocator to give the mem back to
- * @param memnode The memory node to return
- */
-APR_DECLARE(void) apr_allocator_free(apr_allocator_t *allocator,
- apr_memnode_t *memnode);
-
-#include "apr_pools.h"
-
-/**
- * Set the owner of the allocator
- * @param allocator The allocator to set the owner for
- * @param pool The pool that is to own the allocator
- * @remark Typically pool is the highest level pool using the allocator
- */
-/*
- * XXX: see if we can come up with something a bit better. Currently
- * you can make a pool an owner, but if the pool doesn't use the allocator
- * the allocator will never be destroyed.
- */
-APR_DECLARE(void) apr_allocator_owner_set(apr_allocator_t *allocator,
- apr_pool_t *pool);
-
-/** @deprecated @see apr_allocator_owner_set */
-APR_DECLARE(void) apr_allocator_set_owner(apr_allocator_t *allocator,
- apr_pool_t *pool);
-
-/**
- * Get the current owner of the allocator
- * @param allocator The allocator to get the owner from
- */
-APR_DECLARE(apr_pool_t *) apr_allocator_owner_get(apr_allocator_t *allocator);
-
-/** @deprecated @see apr_allocator_owner_get */
-APR_DECLARE(apr_pool_t *) apr_allocator_get_owner(
- apr_allocator_t *allocator);
-
-/**
- * Set the current threshold at which the allocator should start
- * giving blocks back to the system.
- * @param allocator The allocator the set the threshold on
- * @param size The threshold. 0 == unlimited.
- */
-APR_DECLARE(void) apr_allocator_max_free_set(apr_allocator_t *allocator,
- apr_size_t size);
-
-/** @deprecated @see apr_allocator_max_free_set */
-APR_DECLARE(void) apr_allocator_set_max_free(apr_allocator_t *allocator,
- apr_size_t size);
-
-#include "apr_thread_mutex.h"
-
-#if APR_HAS_THREADS
-/**
- * Set a mutex for the allocator to use
- * @param allocator The allocator to set the mutex for
- * @param mutex The mutex
- */
-APR_DECLARE(void) apr_allocator_mutex_set(apr_allocator_t *allocator,
- apr_thread_mutex_t *mutex);
-
-/** @deprecated @see apr_allocator_mutex_set */
-APR_DECLARE(void) apr_allocator_set_mutex(apr_allocator_t *allocator,
- apr_thread_mutex_t *mutex);
-
-/**
- * Get the mutex currently set for the allocator
- * @param allocator The allocator
- */
-APR_DECLARE(apr_thread_mutex_t *) apr_allocator_mutex_get(
- apr_allocator_t *allocator);
-
-/** @deprecated @see apr_allocator_mutex_get */
-APR_DECLARE(apr_thread_mutex_t *) apr_allocator_get_mutex(
- apr_allocator_t *allocator);
-
-#endif /* APR_HAS_THREADS */
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !APR_ALLOCATOR_H */
diff --git a/rubbos/app/apache2/include/apr_anylock.h b/rubbos/app/apache2/include/apr_anylock.h
deleted file mode 100644
index 6b724de2..00000000
--- a/rubbos/app/apache2/include/apr_anylock.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/* Copyright 2000-2005 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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 apr_anylock.h
- * @brief APR-Util transparent any lock flavor wrapper
- */
-#ifndef APR_ANYLOCK_H
-#define APR_ANYLOCK_H
-
-#include "apr_proc_mutex.h"
-#include "apr_thread_mutex.h"
-#include "apr_thread_rwlock.h"
-
-/** Structure that may contain any APR lock type */
-typedef struct apr_anylock_t {
- /** Indicates what type of lock is in lock */
- enum tm_lock {
- apr_anylock_none, /**< None */
- apr_anylock_procmutex, /**< Process-based */
- apr_anylock_threadmutex, /**< Thread-based */
- apr_anylock_readlock, /**< Read lock */
- apr_anylock_writelock /**< Write lock */
- } type;
- /** Union of all possible APR locks */
- union apr_anylock_u_t {
- apr_proc_mutex_t *pm; /**< Process mutex */
-#if APR_HAS_THREADS
- apr_thread_mutex_t *tm; /**< Thread mutex */
- apr_thread_rwlock_t *rw; /**< Read-write lock */
-#endif
- } lock;
-} apr_anylock_t;
-
-#if APR_HAS_THREADS
-
-/** Lock an apr_anylock_t structure */
-#define APR_ANYLOCK_LOCK(lck) \
- (((lck)->type == apr_anylock_none) \
- ? APR_SUCCESS \
- : (((lck)->type == apr_anylock_threadmutex) \
- ? apr_thread_mutex_lock((lck)->lock.tm) \
- : (((lck)->type == apr_anylock_procmutex) \
- ? apr_proc_mutex_lock((lck)->lock.pm) \
- : (((lck)->type == apr_anylock_readlock) \
- ? apr_thread_rwlock_rdlock((lck)->lock.rw) \
- : (((lck)->type == apr_anylock_writelock) \
- ? apr_thread_rwlock_wrlock((lck)->lock.rw) \
- : APR_EINVAL)))))
-
-#else /* APR_HAS_THREADS */
-
-#define APR_ANYLOCK_LOCK(lck) \
- (((lck)->type == apr_anylock_none) \
- ? APR_SUCCESS \
- : (((lck)->type == apr_anylock_procmutex) \
- ? apr_proc_mutex_lock((lck)->lock.pm) \
- : APR_EINVAL))
-
-#endif /* APR_HAS_THREADS */
-
-#if APR_HAS_THREADS
-
-/** Try to lock an apr_anylock_t structure */
-#define APR_ANYLOCK_TRYLOCK(lck) \
- (((lck)->type == apr_anylock_none) \
- ? APR_SUCCESS \
- : (((lck)->type == apr_anylock_threadmutex) \
- ? apr_thread_mutex_trylock((lck)->lock.tm) \
- : (((lck)->type == apr_anylock_procmutex) \
- ? apr_proc_mutex_trylock((lck)->lock.pm) \
- : (((lck)->type == apr_anylock_readlock) \
- ? apr_thread_rwlock_tryrdlock((lck)->lock.rw) \
- : (((lck)->type == apr_anylock_writelock) \
- ? apr_thread_rwlock_trywrlock((lck)->lock.rw) \
- : APR_EINVAL)))))
-
-#else /* APR_HAS_THREADS */
-
-#define APR_ANYLOCK_TRYLOCK(lck) \
- (((lck)->type == apr_anylock_none) \
- ? APR_SUCCESS \
- : (((lck)->type == apr_anylock_procmutex) \
- ? apr_proc_mutex_trylock((lck)->lock.pm) \
- : APR_EINVAL))
-
-#endif /* APR_HAS_THREADS */
-
-#if APR_HAS_THREADS
-
-/** Unlock an apr_anylock_t structure */
-#define APR_ANYLOCK_UNLOCK(lck) \
- (((lck)->type == apr_anylock_none) \
- ? APR_SUCCESS \
- : (((lck)->type == apr_anylock_threadmutex) \
- ? apr_thread_mutex_unlock((lck)->lock.tm) \
- : (((lck)->type == apr_anylock_procmutex) \
- ? apr_proc_mutex_unlock((lck)->lock.pm) \
- : ((((lck)->type == apr_anylock_readlock) || \
- ((lck)->type == apr_anylock_writelock)) \
- ? apr_thread_rwlock_unlock((lck)->lock.rw) \
- : APR_EINVAL))))
-
-#else /* APR_HAS_THREADS */
-
-#define APR_ANYLOCK_UNLOCK(lck) \
- (((lck)->type == apr_anylock_none) \
- ? APR_SUCCESS \
- : (((lck)->type == apr_anylock_procmutex) \
- ? apr_proc_mutex_unlock((lck)->lock.pm) \
- : APR_EINVAL))
-
-#endif /* APR_HAS_THREADS */
-
-#endif /* !APR_ANYLOCK_H */
diff --git a/rubbos/app/apache2/include/apr_atomic.h b/rubbos/app/apache2/include/apr_atomic.h
deleted file mode 100644
index 87889292..00000000
--- a/rubbos/app/apache2/include/apr_atomic.h
+++ /dev/null
@@ -1,314 +0,0 @@
-/* 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 APR_ATOMIC_H
-#define APR_ATOMIC_H
-
-/**
- * @file apr_atomic.h
- * @brief APR Atomic Operations
- */
-
-#include "apr.h"
-#include "apr_pools.h"
-
-/* Platform includes for atomics */
-#if defined(NETWARE) || defined(__MVS__) /* OS/390 */
-#include <stdlib.h>
-#elif defined(__FreeBSD__)
-#include <machine/atomic.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @defgroup apr_atomic Atomic Operations
- * @ingroup APR
- * @{
- */
-
-/* easiest way to get these documented for the moment */
-#if defined(DOXYGEN)
-/**
- * structure for holding a atomic value.
- * this number >only< has a 24 bit size on some platforms
- */
-typedef apr_atomic_t;
-
-/**
- * this function is required on some platforms to initialize the
- * atomic operation's internal structures
- * @param p pool
- * @return APR_SUCCESS on successful completion
- */
-apr_status_t apr_atomic_init(apr_pool_t *p);
-/**
- * read the value stored in a atomic variable
- * @param mem the pointer
- * @warning on certain platforms this number is not stored
- * directly in the pointer. in others it is
- */
-apr_uint32_t apr_atomic_read(volatile apr_atomic_t *mem);
-/**
- * set the value for atomic.
- * @param mem the pointer
- * @param val the value
- */
-void apr_atomic_set(volatile apr_atomic_t *mem, apr_uint32_t val);
-/**
- * Add 'val' to the atomic variable
- * @param mem pointer to the atomic value
- * @param val the addition
- */
-void apr_atomic_add(volatile apr_atomic_t *mem, apr_uint32_t val);
-
-/**
- * increment the atomic variable by 1
- * @param mem pointer to the atomic value
- */
-void apr_atomic_inc(volatile apr_atomic_t *mem);
-
-/**
- * decrement the atomic variable by 1
- * @param mem pointer to the atomic value
- * @return zero if the value is zero, otherwise non-zero
- */
-int apr_atomic_dec(volatile apr_atomic_t *mem);
-
-/**
- * compare the atomic's value with cmp.
- * If they are the same swap the value with 'with'
- * @param mem pointer to the atomic value
- * @param with what to swap it with
- * @param cmp the value to compare it to
- * @return the old value of the atomic
- * @warning do not mix apr_atomic's with the CAS function.
- * on some platforms they may be implemented by different mechanisms
- */
-apr_uint32_t apr_atomic_cas(volatile apr_uint32_t *mem, long with, long cmp);
-
-/**
- * compare the pointer's value with cmp.
- * If they are the same swap the value with 'with'
- * @param mem pointer to the pointer
- * @param with what to swap it with
- * @param cmp the value to compare it to
- * @return the old value of the pointer
- */
-void *apr_atomic_casptr(volatile void **mem, void *with, const void *cmp);
-#else /* !DOXYGEN */
-
-/* The following definitions provide optimized, OS-specific
- * implementations of the APR atomic functions on various
- * platforms. Any atomic operation that isn't redefined as
- * a macro here will be declared as a function later, and
- * apr_atomic.c will provide a mutex-based default implementation.
- */
-
-#if defined(WIN32)
-
-#define apr_atomic_t LONG
-
-#define apr_atomic_add(mem, val) InterlockedExchangeAdd(mem,val)
-#define apr_atomic_dec(mem) InterlockedDecrement(mem)
-#define apr_atomic_inc(mem) InterlockedIncrement(mem)
-#define apr_atomic_set(mem, val) InterlockedExchange(mem, val)
-#define apr_atomic_read(mem) (*mem)
-#define apr_atomic_cas(mem,with,cmp) InterlockedCompareExchange(mem,with,cmp)
-#define apr_atomic_init(pool) APR_SUCCESS
-#define apr_atomic_casptr(mem,with,cmp) InterlockedCompareExchangePointer(mem,with,cmp)
-
-#elif defined(NETWARE)
-
-#define apr_atomic_t unsigned long
-
-#define apr_atomic_add(mem, val) atomic_add(mem,val)
-#define apr_atomic_inc(mem) atomic_inc(mem)
-#define apr_atomic_set(mem, val) (*mem = val)
-#define apr_atomic_read(mem) (*mem)
-#define apr_atomic_init(pool) APR_SUCCESS
-#define apr_atomic_cas(mem,with,cmp) atomic_cmpxchg((unsigned long *)(mem),(unsigned long)(cmp),(unsigned long)(with))
-
-int apr_atomic_dec(apr_atomic_t *mem);
-void *apr_atomic_casptr(void **mem, void *with, const void *cmp);
-#define APR_OVERRIDE_ATOMIC_DEC 1
-#define APR_OVERRIDE_ATOMIC_CASPTR 1
-
-inline int apr_atomic_dec(apr_atomic_t *mem)
-{
- return (atomic_xchgadd(mem, 0xFFFFFFFF) - 1);
-}
-
-inline void *apr_atomic_casptr(void **mem, void *with, const void *cmp)
-{
- return (void*)atomic_cmpxchg((unsigned long *)mem,(unsigned long)cmp,(unsigned long)with);
-}
-
-#elif defined(__FreeBSD__)
-
-#define apr_atomic_t apr_uint32_t
-#define apr_atomic_add(mem, val) (atomic_add_int(mem,val),mem)
-#define apr_atomic_dec(mem) (atomic_subtract_int(mem,1),mem)
-#define apr_atomic_inc(mem) (atomic_add_int(mem,1),mem)
-#define apr_atomic_set(mem, val) (atomic_set_int(mem, val),mem)
-#define apr_atomic_read(mem) (*mem)
-
-#elif (defined(__linux__) || defined(__EMX__)) && defined(__i386__) && !APR_FORCE_ATOMIC_GENERIC
-
-#define apr_atomic_t apr_uint32_t
-#define apr_atomic_cas(mem,with,cmp) \
-({ apr_atomic_t prev; \
- asm volatile ("lock; cmpxchgl %1, %2" \
- : "=a" (prev) \
- : "r" (with), "m" (*(mem)), "0"(cmp) \
- : "memory"); \
- prev;})
-
-#define apr_atomic_add(mem, val) \
-({ register apr_atomic_t last; \
- do { \
- last = *(mem); \
- } while (apr_atomic_cas((mem), last + (val), last) != last); \
- })
-
-#define apr_atomic_dec(mem) \
-({ register apr_atomic_t last; \
- do { \
- last = *(mem); \
- } while (apr_atomic_cas((mem), last - 1, last) != last); \
- (--last != 0); })
-
-#define apr_atomic_inc(mem) \
-({ register apr_atomic_t last; \
- do { \
- last = *(mem); \
- } while (apr_atomic_cas((mem), last + 1, last) != last); \
- })
-
-#define apr_atomic_set(mem, val) (*(mem) = val)
-#define apr_atomic_read(mem) (*(mem))
-#define apr_atomic_init(pool) APR_SUCCESS
-
-#elif defined(__MVS__) /* OS/390 */
-
-#define apr_atomic_t cs_t
-
-apr_int32_t apr_atomic_add(volatile apr_atomic_t *mem, apr_int32_t val);
-apr_uint32_t apr_atomic_cas(volatile apr_atomic_t *mem, apr_uint32_t swap,
- apr_uint32_t cmp);
-#define APR_OVERRIDE_ATOMIC_ADD 1
-#define APR_OVERRIDE_ATOMIC_CAS 1
-
-#define apr_atomic_inc(mem) apr_atomic_add(mem, 1)
-#define apr_atomic_dec(mem) apr_atomic_add(mem, -1)
-#define apr_atomic_init(pool) APR_SUCCESS
-
-/* warning: the following two operations, _read and _set, are atomic
- * if the memory variables are aligned (the usual case).
- *
- * If you try really hard and manage to mis-align them, they are not
- * guaranteed to be atomic on S/390. But then your program will blow up
- * with SIGBUS on a sparc, or with a S0C6 abend if you use the mis-aligned
- * variables with other apr_atomic_* operations on OS/390.
- */
-
-#define apr_atomic_read(p) (*p)
-#define apr_atomic_set(mem, val) (*mem = val)
-
-#endif /* end big if-elseif switch for platform-specifics */
-
-
-/* Default implementation of the atomic API
- * The definitions above may override some or all of the
- * atomic functions with optimized, platform-specific versions.
- * Any operation that hasn't been overridden as a macro above
- * is declared as a function here, unless APR_OVERRIDE_ATOMIC_[OPERATION]
- * is defined. (The purpose of the APR_OVERRIDE_ATOMIC_* is
- * to allow a platform to declare an apr_atomic_*() function
- * with a different signature than the default.)
- */
-
-#if !defined(apr_atomic_t)
-#define apr_atomic_t apr_uint32_t
-#endif
-
-#if !defined(apr_atomic_init) && !defined(APR_OVERRIDE_ATOMIC_INIT)
-apr_status_t apr_atomic_init(apr_pool_t *p);
-#endif
-
-#if !defined(apr_atomic_read) && !defined(APR_OVERRIDE_ATOMIC_READ)
-#define apr_atomic_read(p) *p
-#endif
-
-#if !defined(apr_atomic_set) && !defined(APR_OVERRIDE_ATOMIC_SET)
-void apr_atomic_set(volatile apr_atomic_t *mem, apr_uint32_t val);
-#define APR_ATOMIC_NEED_DEFAULT_INIT 1
-#endif
-
-#if !defined(apr_atomic_add) && !defined(APR_OVERRIDE_ATOMIC_ADD)
-void apr_atomic_add(volatile apr_atomic_t *mem, apr_uint32_t val);
-#define APR_ATOMIC_NEED_DEFAULT_INIT 1
-#endif
-
-#if !defined(apr_atomic_inc) && !defined(APR_OVERRIDE_ATOMIC_INC)
-void apr_atomic_inc(volatile apr_atomic_t *mem);
-#define APR_ATOMIC_NEED_DEFAULT_INIT 1
-#endif
-
-#if !defined(apr_atomic_dec) && !defined(APR_OVERRIDE_ATOMIC_DEC)
-int apr_atomic_dec(volatile apr_atomic_t *mem);
-#define APR_ATOMIC_NEED_DEFAULT_INIT 1
-#endif
-
-#if !defined(apr_atomic_cas) && !defined(APR_OVERRIDE_ATOMIC_CAS)
-apr_uint32_t apr_atomic_cas(volatile apr_uint32_t *mem,long with,long cmp);
-#define APR_ATOMIC_NEED_DEFAULT_INIT 1
-#endif
-
-#if !defined(apr_atomic_casptr) && !defined(APR_OVERRIDE_ATOMIC_CASPTR)
-#if APR_SIZEOF_VOIDP == 4
-#define apr_atomic_casptr(mem, with, cmp) (void *)apr_atomic_cas((apr_uint32_t *)(mem), (long)(with), (long)cmp)
-#else
-void *apr_atomic_casptr(volatile void **mem, void *with, const void *cmp);
-#define APR_ATOMIC_NEED_DEFAULT_INIT 1
-#endif
-#endif
-
-#ifndef APR_ATOMIC_NEED_DEFAULT_INIT
-#define APR_ATOMIC_NEED_DEFAULT_INIT 0
-#endif
-
-/* If we're using the default versions of any of the atomic functions,
- * we'll need the atomic init to set up mutexes. If a platform-specific
- * override above has replaced the atomic_init with a macro, it's an error.
- */
-#if APR_ATOMIC_NEED_DEFAULT_INIT
-#if defined(apr_atomic_init) || defined(APR_OVERRIDE_ATOMIC_INIT)
-#error Platform has redefined apr_atomic_init, but other default default atomics require a default apr_atomic_init
-#endif
-#endif /* APR_ATOMIC_NEED_DEFAULT_INIT */
-
-#endif /* !DOXYGEN */
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !APR_ATOMIC_H */
diff --git a/rubbos/app/apache2/include/apr_base64.h b/rubbos/app/apache2/include/apr_base64.h
deleted file mode 100644
index f37614dc..00000000
--- a/rubbos/app/apache2/include/apr_base64.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/* Copyright 2000-2005 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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.
- * The apr_vsnprintf/apr_snprintf functions are based on, and used with the
- * permission of, the SIO stdio-replacement strx_* functions by Panos
- * Tsirigotis <panos@alumni.cs.colorado.edu> for xinetd.
- */
-
-/**
- * @file apr_base64.h
- * @brief APR-UTIL Base64 Encoding
- */
-#ifndef APR_BASE64_H
-#define APR_BASE64_H
-
-#include "apu.h"
-#include "apr_general.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @defgroup APR_Util_Base64 Base64 Encoding
- * @ingroup APR_Util
- * @{
- */
-
-/* Simple BASE64 encode/decode functions.
- *
- * As we might encode binary strings, hence we require the length of
- * the incoming plain source. And return the length of what we decoded.
- *
- * The decoding function takes any non valid char (i.e. whitespace, \0
- * or anything non A-Z,0-9 etc as terminal.
- *
- * plain strings/binary sequences are not assumed '\0' terminated. Encoded
- * strings are neither. But probably should.
- *
- */
-
-/**
- * Given the length of an un-encrypted string, get the length of the
- * encrypted string.
- * @param len the length of an unencrypted string.
- * @return the length of the string after it is encrypted
- */
-APU_DECLARE(int) apr_base64_encode_len(int len);
-
-/**
- * Encode a text string using base64encoding.
- * @param coded_dst The destination string for the encoded string.
- * @param plain_src The original string in plain text
- * @param len_plain_src The length of the plain text string
- * @return the length of the encoded string
- */
-APU_DECLARE(int) apr_base64_encode(char * coded_dst, const char *plain_src,
- int len_plain_src);
-
-/**
- * Encode an EBCDIC string using base64encoding.
- * @param coded_dst The destination string for the encoded string.
- * @param plain_src The original string in plain text
- * @param len_plain_src The length of the plain text string
- * @return the length of the encoded string
- */
-APU_DECLARE(int) apr_base64_encode_binary(char * coded_dst,
- const unsigned char *plain_src,
- int len_plain_src);
-
-/**
- * Determine the maximum buffer length required to decode the plain text
- * string given the encoded string.
- * @param coded_src The encoded string
- * @return the maximum required buffer length for the plain text string
- */
-APU_DECLARE(int) apr_base64_decode_len(const char * coded_src);
-
-/**
- * Decode a string to plain text
- * @param plain_dst The destination string for the plain text
- * @param coded_src The encoded string
- * @return the length of the plain text string
- */
-APU_DECLARE(int) apr_base64_decode(char * plain_dst, const char *coded_src);
-
-/**
- * Decode an EBCDIC string to plain text
- * @param plain_dst The destination string for the plain text
- * @param coded_src The encoded string
- * @return the length of the plain text string
- */
-APU_DECLARE(int) apr_base64_decode_binary(unsigned char * plain_dst,
- const char *coded_src);
-
-/** @} */
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !APR_BASE64_H */
diff --git a/rubbos/app/apache2/include/apr_buckets.h b/rubbos/app/apache2/include/apr_buckets.h
deleted file mode 100644
index 7f1b05ff..00000000
--- a/rubbos/app/apache2/include/apr_buckets.h
+++ /dev/null
@@ -1,1495 +0,0 @@
-/* Copyright 2000-2005 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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 apr_buckets.h
- * @brief APR-UTIL Buckets/Bucket Brigades
- */
-
-#ifndef APR_BUCKETS_H
-#define APR_BUCKETS_H
-
-#if defined(APR_BUCKET_DEBUG) && !defined(APR_RING_DEBUG)
-#define APR_RING_DEBUG
-#endif
-
-#include "apu.h"
-#include "apr_network_io.h"
-#include "apr_file_io.h"
-#include "apr_general.h"
-#include "apr_mmap.h"
-#include "apr_errno.h"
-#include "apr_ring.h"
-#include "apr.h"
-#if APR_HAVE_SYS_UIO_H
-#include <sys/uio.h> /* for struct iovec */
-#endif
-#if APR_HAVE_STDARG_H
-#include <stdarg.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @defgroup APR_Util_Bucket_Brigades Bucket Brigades
- * @ingroup APR_Util
- * @{
- */
-
-/** default bucket buffer size - 8KB minus room for memory allocator headers */
-#define APR_BUCKET_BUFF_SIZE 8000
-
-/** Determines how a bucket or brigade should be read */
-typedef enum {
- APR_BLOCK_READ, /**< block until data becomes available */
- APR_NONBLOCK_READ /**< return immediately if no data is available */
-} apr_read_type_e;
-
-/**
- * The one-sentence buzzword-laden overview: Bucket brigades represent
- * a complex data stream that can be passed through a layered IO
- * system without unnecessary copying. A longer overview follows...
- *
- * A bucket brigade is a doubly linked list (ring) of buckets, so we
- * aren't limited to inserting at the front and removing at the end.
- * Buckets are only passed around as members of a brigade, although
- * singleton buckets can occur for short periods of time.
- *
- * Buckets are data stores of various types. They can refer to data in
- * memory, or part of a file or mmap area, or the output of a process,
- * etc. Buckets also have some type-dependent accessor functions:
- * read, split, copy, setaside, and destroy.
- *
- * read returns the address and size of the data in the bucket. If the
- * data isn't in memory then it is read in and the bucket changes type
- * so that it can refer to the new location of the data. If all the
- * data doesn't fit in the bucket then a new bucket is inserted into
- * the brigade to hold the rest of it.
- *
- * split divides the data in a bucket into two regions. After a split
- * the original bucket refers to the first part of the data and a new
- * bucket inserted into the brigade after the original bucket refers
- * to the second part of the data. Reference counts are maintained as
- * necessary.
- *
- * setaside ensures that the data in the bucket has a long enough
- * lifetime. Sometimes it is convenient to create a bucket referring
- * to data on the stack in the expectation that it will be consumed
- * (output to the network) before the stack is unwound. If that
- * expectation turns out not to be valid, the setaside function is
- * called to move the data somewhere safer.
- *
- * copy makes a duplicate of the bucket structure as long as it's
- * possible to have multiple references to a single copy of the
- * data itself. Not all bucket types can be copied.
- *
- * destroy maintains the reference counts on the resources used by a
- * bucket and frees them if necessary.
- *
- * Note: all of the above functions have wrapper macros (apr_bucket_read(),
- * apr_bucket_destroy(), etc), and those macros should be used rather
- * than using the function pointers directly.
- *
- * To write a bucket brigade, they are first made into an iovec, so that we
- * don't write too little data at one time. Currently we ignore compacting the
- * buckets into as few buckets as possible, but if we really want good
- * performance, then we need to compact the buckets before we convert to an
- * iovec, or possibly while we are converting to an iovec.
- */
-
-/*
- * Forward declaration of the main types.
- */
-
-/** @see apr_bucket_brigade */
-typedef struct apr_bucket_brigade apr_bucket_brigade;
-/** @see apr_bucket */
-typedef struct apr_bucket apr_bucket;
-/** @see apr_bucket_alloc_t */
-typedef struct apr_bucket_alloc_t apr_bucket_alloc_t;
-
-/** @see apr_bucket_type_t */
-typedef struct apr_bucket_type_t apr_bucket_type_t;
-
-/**
- * Basic bucket type
- */
-struct apr_bucket_type_t {
- /**
- * The name of the bucket type
- */
- const char *name;
- /**
- * The number of functions this bucket understands. Can not be less than
- * five.
- */
- int num_func;
- /**
- * Whether the bucket contains metadata (ie, information that
- * describes the regular contents of the brigade). The metadata
- * is not returned by apr_bucket_read() and is not indicated by
- * the ->length of the apr_bucket itself. In other words, an
- * empty bucket is safe to arbitrarily remove if and only if it
- * contains no metadata. In this sense, "data" is just raw bytes
- * that are the "content" of the brigade and "metadata" describes
- * that data but is not a proper part of it.
- */
- enum {
- /** This bucket type represents actual data to send to the client. */
- APR_BUCKET_DATA = 0,
- /** This bucket type represents metadata. */
- APR_BUCKET_METADATA = 1
- } is_metadata;
- /**
- * Free the private data and any resources used by the bucket (if they
- * aren't shared with another bucket). This function is required to be
- * implemented for all bucket types, though it might be a no-op on some
- * of them (namely ones that never allocate any private data structures).
- * @param data The private data pointer from the bucket to be destroyed
- */
- void (*destroy)(void *data);
-
- /**
- * Read the data from the bucket. This is required to be implemented
- * for all bucket types.
- * @param b The bucket to read from
- * @param str A place to store the data read. Allocation should only be
- * done if absolutely necessary.
- * @param len The amount of data read.
- * @param block Should this read function block if there is more data that
- * cannot be read immediately.
- */
- apr_status_t (*read)(apr_bucket *b, const char **str, apr_size_t *len,
- apr_read_type_e block);
-
- /**
- * Make it possible to set aside the data for at least as long as the
- * given pool. Buckets containing data that could potentially die before
- * this pool (e.g. the data resides on the stack, in a child pool of
- * the given pool, or in a disjoint pool) must somehow copy, shift, or
- * transform the data to have the proper lifetime.
- * @param e The bucket to convert
- * @remark Some bucket types contain data that will always outlive the
- * bucket itself. For example no data (EOS and FLUSH), or the data
- * resides in global, constant memory (IMMORTAL), or the data is on
- * the heap (HEAP). For these buckets, apr_bucket_setaside_noop can
- * be used.
- */
- apr_status_t (*setaside)(apr_bucket *e, apr_pool_t *pool);
-
- /**
- * Split one bucket in two at the specified position by duplicating
- * the bucket structure (not the data) and modifying any necessary
- * start/end/offset information. If it's not possible to do this
- * for the bucket type (perhaps the length of the data is indeterminate,
- * as with pipe and socket buckets), then APR_ENOTIMPL is returned.
- * @param e The bucket to split
- * @param point The offset of the first byte in the new bucket
- */
- apr_status_t (*split)(apr_bucket *e, apr_size_t point);
-
- /**
- * Copy the bucket structure (not the data), assuming that this is
- * possible for the bucket type. If it's not, APR_ENOTIMPL is returned.
- * @param e The bucket to copy
- * @param c Returns a pointer to the new bucket
- */
- apr_status_t (*copy)(apr_bucket *e, apr_bucket **c);
-
-};
-
-/**
- * apr_bucket structures are allocated on the malloc() heap and
- * their lifetime is controlled by the parent apr_bucket_brigade
- * structure. Buckets can move from one brigade to another e.g. by
- * calling APR_BRIGADE_CONCAT(). In general the data in a bucket has
- * the same lifetime as the bucket and is freed when the bucket is
- * destroyed; if the data is shared by more than one bucket (e.g.
- * after a split) the data is freed when the last bucket goes away.
- */
-struct apr_bucket {
- /** Links to the rest of the brigade */
- APR_RING_ENTRY(apr_bucket) link;
- /** The type of bucket. */
- const apr_bucket_type_t *type;
- /** The length of the data in the bucket. This could have been implemented
- * with a function, but this is an optimization, because the most
- * common thing to do will be to get the length. If the length is unknown,
- * the value of this field will be (apr_size_t)(-1).
- */
- apr_size_t length;
- /** The start of the data in the bucket relative to the private base
- * pointer. The vast majority of bucket types allow a fixed block of
- * data to be referenced by multiple buckets, each bucket pointing to
- * a different segment of the data. That segment starts at base+start
- * and ends at base+start+length.
- * If the length == (apr_size_t)(-1), then start == -1.
- */
- apr_off_t start;
- /** type-dependent data hangs off this pointer */
- void *data;
- /**
- * Pointer to function used to free the bucket. This function should
- * always be defined and it should be consistent with the memory
- * function used to allocate the bucket. For example, if malloc() is
- * used to allocate the bucket, this pointer should point to free().
- * @param e Pointer to the bucket being freed
- */
- void (*free)(void *e);
- /** The freelist from which this bucket was allocated */
- apr_bucket_alloc_t *list;
-};
-
-/** A list of buckets */
-struct apr_bucket_brigade {
- /** The pool to associate the brigade with. The data is not allocated out
- * of the pool, but a cleanup is registered with this pool. If the
- * brigade is destroyed by some mechanism other than pool destruction,
- * the destroying function is responsible for killing the cleanup.
- */
- apr_pool_t *p;
- /** The buckets in the brigade are on this list. */
- /*
- * The apr_bucket_list structure doesn't actually need a name tag
- * because it has no existence independent of struct apr_bucket_brigade;
- * the ring macros are designed so that you can leave the name tag
- * argument empty in this situation but apparently the Windows compiler
- * doesn't like that.
- */
- APR_RING_HEAD(apr_bucket_list, apr_bucket) list;
- /** The freelist from which this bucket was allocated */
- apr_bucket_alloc_t *bucket_alloc;
-};
-
-
-/**
- * Function called when a brigade should be flushed
- */
-typedef apr_status_t (*apr_brigade_flush)(apr_bucket_brigade *bb, void *ctx);
-
-/*
- * define APR_BUCKET_DEBUG if you want your brigades to be checked for
- * validity at every possible instant. this will slow your code down
- * substantially but is a very useful debugging tool.
- */
-#ifdef APR_BUCKET_DEBUG
-
-#define APR_BRIGADE_CHECK_CONSISTENCY(b) \
- APR_RING_CHECK_CONSISTENCY(&(b)->list, apr_bucket, link)
-
-#define APR_BUCKET_CHECK_CONSISTENCY(e) \
- APR_RING_CHECK_ELEM_CONSISTENCY((e), apr_bucket, link)
-
-#else
-/**
- * checks the ring pointers in a bucket brigade for consistency. an
- * abort() will be triggered if any inconsistencies are found.
- * note: this is a no-op unless APR_BUCKET_DEBUG is defined.
- * @param b The brigade
- */
-#define APR_BRIGADE_CHECK_CONSISTENCY(b)
-/**
- * checks the brigade a bucket is in for ring consistency. an
- * abort() will be triggered if any inconsistencies are found.
- * note: this is a no-op unless APR_BUCKET_DEBUG is defined.
- * @param e The bucket
- */
-#define APR_BUCKET_CHECK_CONSISTENCY(e)
-#endif
-
-
-/**
- * Wrappers around the RING macros to reduce the verbosity of the code
- * that handles bucket brigades.
- */
-/**
- * The magic pointer value that indicates the head of the brigade
- * @remark This is used to find the beginning and end of the brigade, eg:
- * <pre>
- * while (e != APR_BRIGADE_SENTINEL(b)) {
- * ...
- * e = APR_BUCKET_NEXT(e);
- * }
- * </pre>
- * @param b The brigade
- * @return The magic pointer value
- */
-#define APR_BRIGADE_SENTINEL(b) APR_RING_SENTINEL(&(b)->list, apr_bucket, link)
-
-/**
- * Determine if the bucket brigade is empty
- * @param b The brigade to check
- * @return true or false
- */
-#define APR_BRIGADE_EMPTY(b) APR_RING_EMPTY(&(b)->list, apr_bucket, link)
-
-/**
- * Return the first bucket in a brigade
- * @param b The brigade to query
- * @return The first bucket in the brigade
- */
-#define APR_BRIGADE_FIRST(b) APR_RING_FIRST(&(b)->list)
-/**
- * Return the last bucket in a brigade
- * @param b The brigade to query
- * @return The last bucket in the brigade
- */
-#define APR_BRIGADE_LAST(b) APR_RING_LAST(&(b)->list)
-
-/**
- * Iterate through a bucket brigade
- * @param e The current bucket
- * @param b The brigade to iterate over
- * @remark This is the same as either:
- * <pre>
- * e = APR_BRIGADE_FIRST(b);
- * while (e != APR_BRIGADE_SENTINEL(b)) {
- * ...
- * e = APR_BUCKET_NEXT(e);
- * }
- * OR
- * for (e = APR_BRIGADE_FIRST(b);
- * e != APR_BRIGADE_SENTINEL(b);
- * e = APR_BUCKET_NEXT(e)) {
- * ...
- * }
- * </pre>
- * @warning Be aware that you cannot change the value of e within
- * the foreach loop, nor can you destroy the bucket it points to.
- * Modifying the prev and next pointers of the bucket is dangerous
- * but can be done if you're careful. If you change e's value or
- * destroy the bucket it points to, then APR_BRIGADE_FOREACH
- * will have no way to find out what bucket to use for its next
- * iteration. The reason for this can be seen by looking closely
- * at the equivalent loops given in the tip above. So, for example,
- * if you are writing a loop that empties out a brigade one bucket
- * at a time, APR_BRIGADE_FOREACH just won't work for you. Do it
- * by hand, like so:
- * <pre>
- * while (!APR_BRIGADE_EMPTY(b)) {
- * e = APR_BRIGADE_FIRST(b);
- * ...
- * apr_bucket_delete(e);
- * }
- * </pre>
- * @deprecated This macro causes more headaches than it's worth. Use
- * one of the alternatives documented here instead; the clarity gained
- * in what's really going on is well worth the extra line or two of code.
- * This macro will be removed at some point in the future.
- */
-#define APR_BRIGADE_FOREACH(e, b) \
- APR_RING_FOREACH((e), &(b)->list, apr_bucket, link)
-
-/**
- * Insert a list of buckets at the front of a brigade
- * @param b The brigade to add to
- * @param e The first bucket in a list of buckets to insert
- */
-#define APR_BRIGADE_INSERT_HEAD(b, e) do { \
- apr_bucket *ap__b = (e); \
- APR_RING_INSERT_HEAD(&(b)->list, ap__b, apr_bucket, link); \
- APR_BRIGADE_CHECK_CONSISTENCY((b)); \
- } while (0)
-
-/**
- * Insert a list of buckets at the end of a brigade
- * @param b The brigade to add to
- * @param e The first bucket in a list of buckets to insert
- */
-#define APR_BRIGADE_INSERT_TAIL(b, e) do { \
- apr_bucket *ap__b = (e); \
- APR_RING_INSERT_TAIL(&(b)->list, ap__b, apr_bucket, link); \
- APR_BRIGADE_CHECK_CONSISTENCY((b)); \
- } while (0)
-
-/**
- * Concatenate brigade b onto the end of brigade a, leaving brigade b empty
- * @param a The first brigade
- * @param b The second brigade
- */
-#define APR_BRIGADE_CONCAT(a, b) do { \
- APR_RING_CONCAT(&(a)->list, &(b)->list, apr_bucket, link); \
- APR_BRIGADE_CHECK_CONSISTENCY((a)); \
- } while (0)
-
-/**
- * Prepend brigade b onto the beginning of brigade a, leaving brigade b empty
- * @param a The first brigade
- * @param b The second brigade
- */
-#define APR_BRIGADE_PREPEND(a, b) do { \
- APR_RING_PREPEND(&(a)->list, &(b)->list, apr_bucket, link); \
- APR_BRIGADE_CHECK_CONSISTENCY((a)); \
- } while (0)
-
-/**
- * Insert a list of buckets before a specified bucket
- * @param a The bucket to insert before
- * @param b The buckets to insert
- */
-#define APR_BUCKET_INSERT_BEFORE(a, b) do { \
- apr_bucket *ap__a = (a), *ap__b = (b); \
- APR_RING_INSERT_BEFORE(ap__a, ap__b, link); \
- APR_BUCKET_CHECK_CONSISTENCY(ap__a); \
- } while (0)
-
-/**
- * Insert a list of buckets after a specified bucket
- * @param a The bucket to insert after
- * @param b The buckets to insert
- */
-#define APR_BUCKET_INSERT_AFTER(a, b) do { \
- apr_bucket *ap__a = (a), *ap__b = (b); \
- APR_RING_INSERT_AFTER(ap__a, ap__b, link); \
- APR_BUCKET_CHECK_CONSISTENCY(ap__a); \
- } while (0)
-
-/**
- * Get the next bucket in the list
- * @param e The current bucket
- * @return The next bucket
- */
-#define APR_BUCKET_NEXT(e) APR_RING_NEXT((e), link)
-/**
- * Get the previous bucket in the list
- * @param e The current bucket
- * @return The previous bucket
- */
-#define APR_BUCKET_PREV(e) APR_RING_PREV((e), link)
-
-/**
- * Remove a bucket from its bucket brigade
- * @param e The bucket to remove
- */
-#define APR_BUCKET_REMOVE(e) APR_RING_REMOVE((e), link)
-
-/**
- * Initialize a new bucket's prev/next pointers
- * @param e The bucket to initialize
- */
-#define APR_BUCKET_INIT(e) APR_RING_ELEM_INIT((e), link)
-
-/**
- * Determine if a bucket contains metadata. An empty bucket is
- * safe to arbitrarily remove if and only if this is false.
- * @param e The bucket to inspect
- * @return true or false
- */
-#define APR_BUCKET_IS_METADATA(e) ((e)->type->is_metadata)
-
-/**
- * Determine if a bucket is a FLUSH bucket
- * @param e The bucket to inspect
- * @return true or false
- */
-#define APR_BUCKET_IS_FLUSH(e) ((e)->type == &apr_bucket_type_flush)
-/**
- * Determine if a bucket is an EOS bucket
- * @param e The bucket to inspect
- * @return true or false
- */
-#define APR_BUCKET_IS_EOS(e) ((e)->type == &apr_bucket_type_eos)
-/**
- * Determine if a bucket is a FILE bucket
- * @param e The bucket to inspect
- * @return true or false
- */
-#define APR_BUCKET_IS_FILE(e) ((e)->type == &apr_bucket_type_file)
-/**
- * Determine if a bucket is a PIPE bucket
- * @param e The bucket to inspect
- * @return true or false
- */
-#define APR_BUCKET_IS_PIPE(e) ((e)->type == &apr_bucket_type_pipe)
-/**
- * Determine if a bucket is a SOCKET bucket
- * @param e The bucket to inspect
- * @return true or false
- */
-#define APR_BUCKET_IS_SOCKET(e) ((e)->type == &apr_bucket_type_socket)
-/**
- * Determine if a bucket is a HEAP bucket
- * @param e The bucket to inspect
- * @return true or false
- */
-#define APR_BUCKET_IS_HEAP(e) ((e)->type == &apr_bucket_type_heap)
-/**
- * Determine if a bucket is a TRANSIENT bucket
- * @param e The bucket to inspect
- * @return true or false
- */
-#define APR_BUCKET_IS_TRANSIENT(e) ((e)->type == &apr_bucket_type_transient)
-/**
- * Determine if a bucket is a IMMORTAL bucket
- * @param e The bucket to inspect
- * @return true or false
- */
-#define APR_BUCKET_IS_IMMORTAL(e) ((e)->type == &apr_bucket_type_immortal)
-#if APR_HAS_MMAP
-/**
- * Determine if a bucket is a MMAP bucket
- * @param e The bucket to inspect
- * @return true or false
- */
-#define APR_BUCKET_IS_MMAP(e) ((e)->type == &apr_bucket_type_mmap)
-#endif
-/**
- * Determine if a bucket is a POOL bucket
- * @param e The bucket to inspect
- * @return true or false
- */
-#define APR_BUCKET_IS_POOL(e) ((e)->type == &apr_bucket_type_pool)
-
-/*
- * General-purpose reference counting for the various bucket types.
- *
- * Any bucket type that keeps track of the resources it uses (i.e.
- * most of them except for IMMORTAL, TRANSIENT, and EOS) needs to
- * attach a reference count to the resource so that it can be freed
- * when the last bucket that uses it goes away. Resource-sharing may
- * occur because of bucket splits or buckets that refer to globally
- * cached data. */
-
-/** @see apr_bucket_refcount */
-typedef struct apr_bucket_refcount apr_bucket_refcount;
-/**
- * The structure used to manage the shared resource must start with an
- * apr_bucket_refcount which is updated by the general-purpose refcount
- * code. A pointer to the bucket-type-dependent private data structure
- * can be cast to a pointer to an apr_bucket_refcount and vice versa.
- */
-struct apr_bucket_refcount {
- /** The number of references to this bucket */
- int refcount;
-};
-
-/* ***** Reference-counted bucket types ***** */
-
-/** @see apr_bucket_heap */
-typedef struct apr_bucket_heap apr_bucket_heap;
-/**
- * A bucket referring to data allocated off the heap.
- */
-struct apr_bucket_heap {
- /** Number of buckets using this memory */
- apr_bucket_refcount refcount;
- /** The start of the data actually allocated. This should never be
- * modified, it is only used to free the bucket.
- */
- char *base;
- /** how much memory was allocated */
- apr_size_t alloc_len;
- /** function to use to delete the data */
- void (*free_func)(void *data);
-};
-
-/** @see apr_bucket_pool */
-typedef struct apr_bucket_pool apr_bucket_pool;
-/**
- * A bucket referring to data allocated from a pool
- */
-struct apr_bucket_pool {
- /** The pool bucket must be able to be easily morphed to a heap
- * bucket if the pool gets cleaned up before all references are
- * destroyed. This apr_bucket_heap structure is populated automatically
- * when the pool gets cleaned up, and subsequent calls to pool_read()
- * will result in the apr_bucket in question being morphed into a
- * regular heap bucket. (To avoid having to do many extra refcount
- * manipulations and b->data manipulations, the apr_bucket_pool
- * struct actually *contains* the apr_bucket_heap struct that it
- * will become as its first element; the two share their
- * apr_bucket_refcount members.)
- */
- apr_bucket_heap heap;
- /** The block of data actually allocated from the pool.
- * Segments of this block are referenced by adjusting
- * the start and length of the apr_bucket accordingly.
- * This will be NULL after the pool gets cleaned up.
- */
- const char *base;
- /** The pool the data was allocated from. When the pool
- * is cleaned up, this gets set to NULL as an indicator
- * to pool_read() that the data is now on the heap and
- * so it should morph the bucket into a regular heap
- * bucket before continuing.
- */
- apr_pool_t *pool;
- /** The freelist this structure was allocated from, which is
- * needed in the cleanup phase in order to allocate space on the heap
- */
- apr_bucket_alloc_t *list;
-};
-
-#if APR_HAS_MMAP
-/** @see apr_bucket_mmap */
-typedef struct apr_bucket_mmap apr_bucket_mmap;
-/**
- * A bucket referring to an mmap()ed file
- */
-struct apr_bucket_mmap {
- /** Number of buckets using this memory */
- apr_bucket_refcount refcount;
- /** The mmap this sub_bucket refers to */
- apr_mmap_t *mmap;
-};
-#endif
-
-/** @see apr_bucket_file */
-typedef struct apr_bucket_file apr_bucket_file;
-/**
- * A bucket referring to an file
- */
-struct apr_bucket_file {
- /** Number of buckets using this memory */
- apr_bucket_refcount refcount;
- /** The file this bucket refers to */
- apr_file_t *fd;
- /** The pool into which any needed structures should
- * be created while reading from this file bucket */
- apr_pool_t *readpool;
-#if APR_HAS_MMAP
- /** Whether this bucket should be memory-mapped if
- * a caller tries to read from it */
- int can_mmap;
-#endif /* APR_HAS_MMAP */
-};
-
-/** @see apr_bucket_structs */
-typedef union apr_bucket_structs apr_bucket_structs;
-/**
- * A union of all bucket structures so we know what
- * the max size is.
- */
-union apr_bucket_structs {
- apr_bucket b; /**< Bucket */
- apr_bucket_heap heap; /**< Heap */
- apr_bucket_pool pool; /**< Pool */
-#if APR_HAS_MMAP
- apr_bucket_mmap mmap; /**< MMap */
-#endif
- apr_bucket_file file; /**< File */
-};
-
-/**
- * The amount that apr_bucket_alloc() should allocate in the common case.
- * Note: this is twice as big as apr_bucket_structs to allow breathing
- * room for third-party bucket types.
- */
-#define APR_BUCKET_ALLOC_SIZE APR_ALIGN_DEFAULT(2*sizeof(apr_bucket_structs))
-
-/* ***** Bucket Brigade Functions ***** */
-/**
- * Create a new bucket brigade. The bucket brigade is originally empty.
- * @param p The pool to associate with the brigade. Data is not allocated out
- * of the pool, but a cleanup is registered.
- * @param list The bucket allocator to use
- * @return The empty bucket brigade
- */
-APU_DECLARE(apr_bucket_brigade *) apr_brigade_create(apr_pool_t *p,
- apr_bucket_alloc_t *list);
-
-/**
- * destroy an entire bucket brigade. This includes destroying all of the
- * buckets within the bucket brigade's bucket list.
- * @param b The bucket brigade to destroy
- */
-APU_DECLARE(apr_status_t) apr_brigade_destroy(apr_bucket_brigade *b);
-
-/**
- * empty out an entire bucket brigade. This includes destroying all of the
- * buckets within the bucket brigade's bucket list. This is similar to
- * apr_brigade_destroy(), except that it does not deregister the brigade's
- * pool cleanup function.
- * @param data The bucket brigade to clean up
- * @remark Generally, you should use apr_brigade_destroy(). This function
- * can be useful in situations where you have a single brigade that
- * you wish to reuse many times by destroying all of the buckets in
- * the brigade and putting new buckets into it later.
- */
-APU_DECLARE(apr_status_t) apr_brigade_cleanup(void *data);
-
-/**
- * Split a bucket brigade into two, such that the given bucket is the
- * first in the new bucket brigade. This function is useful when a
- * filter wants to pass only the initial part of a brigade to the next
- * filter.
- * @param b The brigade to split
- * @param e The first element of the new brigade
- * @return The new brigade
- */
-APU_DECLARE(apr_bucket_brigade *) apr_brigade_split(apr_bucket_brigade *b,
- apr_bucket *e);
-
-/**
- * Partition a bucket brigade at a given offset (in bytes from the start of
- * the brigade). This is useful whenever a filter wants to use known ranges
- * of bytes from the brigade; the ranges can even overlap.
- * @param b The brigade to partition
- * @param point The offset at which to partition the brigade
- * @param after_point Returns a pointer to the first bucket after the partition
- */
-APU_DECLARE(apr_status_t) apr_brigade_partition(apr_bucket_brigade *b,
- apr_off_t point,
- apr_bucket **after_point);
-
-#if APR_NOT_DONE_YET
-/**
- * consume nbytes from beginning of b -- call apr_bucket_destroy as
- * appropriate, and/or modify start on last element
- * @param b The brigade to consume data from
- * @param nbytes The number of bytes to consume
- */
-APU_DECLARE(void) apr_brigade_consume(apr_bucket_brigade *b,
- apr_off_t nbytes);
-#endif
-
-/**
- * Return the total length of the brigade.
- * @param bb The brigade to compute the length of
- * @param read_all Read unknown-length buckets to force a size
- * @param length Returns the length of the brigade, or -1 if the brigade has
- * buckets of indeterminate length and read_all is 0.
- */
-APU_DECLARE(apr_status_t) apr_brigade_length(apr_bucket_brigade *bb,
- int read_all,
- apr_off_t *length);
-
-/**
- * Take a bucket brigade and store the data in a flat char*
- * @param bb The bucket brigade to create the char* from
- * @param c The char* to write into
- * @param len The maximum length of the char array. On return, it is the
- * actual length of the char array.
- */
-APU_DECLARE(apr_status_t) apr_brigade_flatten(apr_bucket_brigade *bb,
- char *c,
- apr_size_t *len);
-
-/**
- * Creates a pool-allocated string representing a flat bucket brigade
- * @param bb The bucket brigade to create the char array from
- * @param c On return, the allocated char array
- * @param len On return, the length of the char array.
- * @param pool The pool to allocate the string from.
- */
-APU_DECLARE(apr_status_t) apr_brigade_pflatten(apr_bucket_brigade *bb,
- char **c,
- apr_size_t *len,
- apr_pool_t *pool);
-
-/**
- * Split a brigade to represent one LF line.
- * @param bbOut The bucket brigade that will have the LF line appended to.
- * @param bbIn The input bucket brigade to search for a LF-line.
- * @param block The blocking mode to be used to split the line.
- * @param maxbytes The maximum bytes to read. If this many bytes are seen
- * without a LF, the brigade will contain a partial line.
- */
-APU_DECLARE(apr_status_t) apr_brigade_split_line(apr_bucket_brigade *bbOut,
- apr_bucket_brigade *bbIn,
- apr_read_type_e block,
- apr_off_t maxbytes);
-
-/**
- * create an iovec of the elements in a bucket_brigade... return number
- * of elements used. This is useful for writing to a file or to the
- * network efficiently.
- * @param b The bucket brigade to create the iovec from
- * @param vec The iovec to create
- * @param nvec The number of elements in the iovec. On return, it is the
- * number of iovec elements actually filled out.
- */
-APU_DECLARE(apr_status_t) apr_brigade_to_iovec(apr_bucket_brigade *b,
- struct iovec *vec, int *nvec);
-
-/**
- * This function writes a list of strings into a bucket brigade.
- * @param b The bucket brigade to add to
- * @param flush The flush function to use if the brigade is full
- * @param ctx The structure to pass to the flush function
- * @param va A list of strings to add
- * @return APR_SUCCESS or error code.
- */
-APU_DECLARE(apr_status_t) apr_brigade_vputstrs(apr_bucket_brigade *b,
- apr_brigade_flush flush,
- void *ctx,
- va_list va);
-
-/**
- * This function writes a string into a bucket brigade.
- * @param b The bucket brigade to add to
- * @param flush The flush function to use if the brigade is full
- * @param ctx The structure to pass to the flush function
- * @param str The string to add
- * @param nbyte The number of bytes to write
- * @return APR_SUCCESS or error code
- */
-APU_DECLARE(apr_status_t) apr_brigade_write(apr_bucket_brigade *b,
- apr_brigade_flush flush, void *ctx,
- const char *str, apr_size_t nbyte);
-
-/**
- * This function writes multiple strings into a bucket brigade.
- * @param b The bucket brigade to add to
- * @param flush The flush function to use if the brigade is full
- * @param ctx The structure to pass to the flush function
- * @param vec The strings to add (address plus length for each)
- * @param nvec The number of entries in iovec
- * @return APR_SUCCESS or error code
- */
-APU_DECLARE(apr_status_t) apr_brigade_writev(apr_bucket_brigade *b,
- apr_brigade_flush flush,
- void *ctx,
- const struct iovec *vec,
- apr_size_t nvec);
-
-/**
- * This function writes a string into a bucket brigade.
- * @param bb The bucket brigade to add to
- * @param flush The flush function to use if the brigade is full
- * @param ctx The structure to pass to the flush function
- * @param str The string to add
- * @return APR_SUCCESS or error code
- */
-APU_DECLARE(apr_status_t) apr_brigade_puts(apr_bucket_brigade *bb,
- apr_brigade_flush flush, void *ctx,
- const char *str);
-
-/**
- * This function writes a character into a bucket brigade.
- * @param b The bucket brigade to add to
- * @param flush The flush function to use if the brigade is full
- * @param ctx The structure to pass to the flush function
- * @param c The character to add
- * @return APR_SUCCESS or error code
- */
-APU_DECLARE(apr_status_t) apr_brigade_putc(apr_bucket_brigade *b,
- apr_brigade_flush flush, void *ctx,
- const char c);
-
-/**
- * This function writes an unspecified number of strings into a bucket brigade.
- * @param b The bucket brigade to add to
- * @param flush The flush function to use if the brigade is full
- * @param ctx The structure to pass to the flush function
- * @param ... The strings to add
- * @return APR_SUCCESS or error code
- */
-APU_DECLARE_NONSTD(apr_status_t) apr_brigade_putstrs(apr_bucket_brigade *b,
- apr_brigade_flush flush,
- void *ctx, ...);
-
-/**
- * Evaluate a printf and put the resulting string at the end
- * of the bucket brigade.
- * @param b The brigade to write to
- * @param flush The flush function to use if the brigade is full
- * @param ctx The structure to pass to the flush function
- * @param fmt The format of the string to write
- * @param ... The arguments to fill out the format
- * @return APR_SUCCESS or error code
- */
-APU_DECLARE_NONSTD(apr_status_t) apr_brigade_printf(apr_bucket_brigade *b,
- apr_brigade_flush flush,
- void *ctx,
- const char *fmt, ...)
- __attribute__((format(printf,4,5)));
-
-/**
- * Evaluate a printf and put the resulting string at the end
- * of the bucket brigade.
- * @param b The brigade to write to
- * @param flush The flush function to use if the brigade is full
- * @param ctx The structure to pass to the flush function
- * @param fmt The format of the string to write
- * @param va The arguments to fill out the format
- * @return APR_SUCCESS or error code
- */
-APU_DECLARE(apr_status_t) apr_brigade_vprintf(apr_bucket_brigade *b,
- apr_brigade_flush flush,
- void *ctx,
- const char *fmt, va_list va);
-
-/* ***** Bucket freelist functions ***** */
-/**
- * Create a bucket allocator.
- * @param p This pool's underlying apr_allocator_t is used to allocate memory
- * for the bucket allocator. When the pool is destroyed, the bucket
- * allocator's cleanup routine will free all memory that has been
- * allocated from it.
- * @remark The reason the allocator gets its memory from the pool's
- * apr_allocator_t rather than from the pool itself is because
- * the bucket allocator will free large memory blocks back to the
- * allocator when it's done with them, thereby preventing memory
- * footprint growth that would occur if we allocated from the pool.
- * @warning The allocator must never be used by more than one thread at a time.
- */
-APU_DECLARE_NONSTD(apr_bucket_alloc_t *) apr_bucket_alloc_create(apr_pool_t *p);
-
-/**
- * Create a bucket allocator.
- * @param allocator This apr_allocator_t is used to allocate both the bucket
- * allocator and all memory handed out by the bucket allocator. The
- * caller is responsible for destroying the bucket allocator and the
- * apr_allocator_t -- no automatic cleanups will happen.
- * @warning The allocator must never be used by more than one thread at a time.
- */
-APU_DECLARE_NONSTD(apr_bucket_alloc_t *) apr_bucket_alloc_create_ex(apr_allocator_t *allocator);
-
-/**
- * Destroy a bucket allocator.
- * @param list The allocator to be destroyed
- */
-APU_DECLARE_NONSTD(void) apr_bucket_alloc_destroy(apr_bucket_alloc_t *list);
-
-/**
- * Allocate memory for use by the buckets.
- * @param size The amount to allocate.
- * @param list The allocator from which to allocate the memory.
- */
-APU_DECLARE_NONSTD(void *) apr_bucket_alloc(apr_size_t size, apr_bucket_alloc_t *list);
-
-/**
- * Free memory previously allocated with apr_bucket_alloc().
- * @param block The block of memory to be freed.
- */
-APU_DECLARE_NONSTD(void) apr_bucket_free(void *block);
-
-
-/* ***** Bucket Functions ***** */
-/**
- * Free the resources used by a bucket. If multiple buckets refer to
- * the same resource it is freed when the last one goes away.
- * @see apr_bucket_delete()
- * @param e The bucket to destroy
- */
-#define apr_bucket_destroy(e) do { \
- (e)->type->destroy((e)->data); \
- (e)->free(e); \
- } while (0)
-
-/**
- * Delete a bucket by removing it from its brigade (if any) and then
- * destroying it.
- * @remark This mainly acts as an aid in avoiding code verbosity. It is
- * the preferred exact equivalent to:
- * <pre>
- * APR_BUCKET_REMOVE(e);
- * apr_bucket_destroy(e);
- * </pre>
- * @param e The bucket to delete
- */
-#define apr_bucket_delete(e) do { \
- APR_BUCKET_REMOVE(e); \
- apr_bucket_destroy(e); \
- } while (0)
-
-/**
- * read the data from the bucket
- * @param e The bucket to read from
- * @param str The location to store the data in
- * @param len The amount of data read
- * @param block Whether the read function blocks
- */
-#define apr_bucket_read(e,str,len,block) (e)->type->read(e, str, len, block)
-
-/**
- * Setaside data so that stack data is not destroyed on returning from
- * the function
- * @param e The bucket to setaside
- * @param p The pool to setaside into
- */
-#define apr_bucket_setaside(e,p) (e)->type->setaside(e,p)
-
-/**
- * Split one bucket in two.
- * @param e The bucket to split
- * @param point The offset to split the bucket at
- */
-#define apr_bucket_split(e,point) (e)->type->split(e, point)
-
-/**
- * Copy a bucket.
- * @param e The bucket to copy
- * @param c Returns a pointer to the new bucket
- */
-#define apr_bucket_copy(e,c) (e)->type->copy(e, c)
-
-/* Bucket type handling */
-
-/**
- * This function simply returns APR_SUCCESS to denote that the bucket does
- * not require anything to happen for its setaside() function. This is
- * appropriate for buckets that have "immortal" data -- the data will live
- * at least as long as the bucket.
- * @param data The bucket to setaside
- * @param pool The pool defining the desired lifetime of the bucket data
- * @return APR_SUCCESS
- */
-APU_DECLARE_NONSTD(apr_status_t) apr_bucket_setaside_noop(apr_bucket *data,
- apr_pool_t *pool);
-
-/**
- * A place holder function that signifies that the setaside function was not
- * implemented for this bucket
- * @param data The bucket to setaside
- * @param pool The pool defining the desired lifetime of the bucket data
- * @return APR_ENOTIMPL
- */
-APU_DECLARE_NONSTD(apr_status_t) apr_bucket_setaside_notimpl(apr_bucket *data,
- apr_pool_t *pool);
-
-/**
- * A place holder function that signifies that the split function was not
- * implemented for this bucket
- * @param data The bucket to split
- * @param point The location to split the bucket
- * @return APR_ENOTIMPL
- */
-APU_DECLARE_NONSTD(apr_status_t) apr_bucket_split_notimpl(apr_bucket *data,
- apr_size_t point);
-
-/**
- * A place holder function that signifies that the copy function was not
- * implemented for this bucket
- * @param e The bucket to copy
- * @param c Returns a pointer to the new bucket
- * @return APR_ENOTIMPL
- */
-APU_DECLARE_NONSTD(apr_status_t) apr_bucket_copy_notimpl(apr_bucket *e,
- apr_bucket **c);
-
-/**
- * A place holder function that signifies that this bucket does not need
- * to do anything special to be destroyed. That's only the case for buckets
- * that either have no data (metadata buckets) or buckets whose data pointer
- * points to something that's not a bucket-type-specific structure, as with
- * simple buckets where data points to a string and pipe buckets where data
- * points directly to the apr_file_t.
- * @param data The bucket data to destroy
- */
-APU_DECLARE_NONSTD(void) apr_bucket_destroy_noop(void *data);
-
-/**
- * There is no apr_bucket_destroy_notimpl, because destruction is required
- * to be implemented (it could be a noop, but only if that makes sense for
- * the bucket type)
- */
-
-/* There is no apr_bucket_read_notimpl, because it is a required function
- */
-
-
-/* All of the bucket types implemented by the core */
-/**
- * The flush bucket type. This signifies that all data should be flushed to
- * the next filter. The flush bucket should be sent with the other buckets.
- */
-APU_DECLARE_DATA extern const apr_bucket_type_t apr_bucket_type_flush;
-/**
- * The EOS bucket type. This signifies that there will be no more data, ever.
- * All filters MUST send all data to the next filter when they receive a
- * bucket of this type
- */
-APU_DECLARE_DATA extern const apr_bucket_type_t apr_bucket_type_eos;
-/**
- * The FILE bucket type. This bucket represents a file on disk
- */
-APU_DECLARE_DATA extern const apr_bucket_type_t apr_bucket_type_file;
-/**
- * The HEAP bucket type. This bucket represents a data allocated from the
- * heap.
- */
-APU_DECLARE_DATA extern const apr_bucket_type_t apr_bucket_type_heap;
-#if APR_HAS_MMAP
-/**
- * The MMAP bucket type. This bucket represents an MMAP'ed file
- */
-APU_DECLARE_DATA extern const apr_bucket_type_t apr_bucket_type_mmap;
-#endif
-/**
- * The POOL bucket type. This bucket represents a data that was allocated
- * from a pool. IF this bucket is still available when the pool is cleared,
- * the data is copied on to the heap.
- */
-APU_DECLARE_DATA extern const apr_bucket_type_t apr_bucket_type_pool;
-/**
- * The PIPE bucket type. This bucket represents a pipe to another program.
- */
-APU_DECLARE_DATA extern const apr_bucket_type_t apr_bucket_type_pipe;
-/**
- * The IMMORTAL bucket type. This bucket represents a segment of data that
- * the creator is willing to take responsibility for. The core will do
- * nothing with the data in an immortal bucket
- */
-APU_DECLARE_DATA extern const apr_bucket_type_t apr_bucket_type_immortal;
-/**
- * The TRANSIENT bucket type. This bucket represents a data allocated off
- * the stack. When the setaside function is called, this data is copied on
- * to the heap
- */
-APU_DECLARE_DATA extern const apr_bucket_type_t apr_bucket_type_transient;
-/**
- * The SOCKET bucket type. This bucket represents a socket to another machine
- */
-APU_DECLARE_DATA extern const apr_bucket_type_t apr_bucket_type_socket;
-
-
-/* ***** Simple buckets ***** */
-
-/**
- * Split a simple bucket into two at the given point. Most non-reference
- * counting buckets that allow multiple references to the same block of
- * data (eg transient and immortal) will use this as their split function
- * without any additional type-specific handling.
- * @param b The bucket to be split
- * @param point The offset of the first byte in the new bucket
- * @return APR_EINVAL if the point is not within the bucket;
- * APR_ENOMEM if allocation failed;
- * or APR_SUCCESS
- */
-APU_DECLARE_NONSTD(apr_status_t) apr_bucket_simple_split(apr_bucket *b,
- apr_size_t point);
-
-/**
- * Copy a simple bucket. Most non-reference-counting buckets that allow
- * multiple references to the same block of data (eg transient and immortal)
- * will use this as their copy function without any additional type-specific
- * handling.
- * @param a The bucket to copy
- * @param b Returns a pointer to the new bucket
- * @return APR_ENOMEM if allocation failed;
- * or APR_SUCCESS
- */
-APU_DECLARE_NONSTD(apr_status_t) apr_bucket_simple_copy(apr_bucket *a,
- apr_bucket **b);
-
-
-/* ***** Shared, reference-counted buckets ***** */
-
-/**
- * Initialize a bucket containing reference-counted data that may be
- * shared. The caller must allocate the bucket if necessary and
- * initialize its type-dependent fields, and allocate and initialize
- * its own private data structure. This function should only be called
- * by type-specific bucket creation functions.
- * @param b The bucket to initialize
- * @param data A pointer to the private data structure
- * with the reference count at the start
- * @param start The start of the data in the bucket
- * relative to the private base pointer
- * @param length The length of the data in the bucket
- * @return The new bucket, or NULL if allocation failed
- */
-APU_DECLARE(apr_bucket *) apr_bucket_shared_make(apr_bucket *b, void *data,
- apr_off_t start,
- apr_size_t length);
-
-/**
- * Decrement the refcount of the data in the bucket. This function
- * should only be called by type-specific bucket destruction functions.
- * @param data The private data pointer from the bucket to be destroyed
- * @return TRUE or FALSE; TRUE if the reference count is now
- * zero, indicating that the shared resource itself can
- * be destroyed by the caller.
- */
-APU_DECLARE(int) apr_bucket_shared_destroy(void *data);
-
-/**
- * Split a bucket into two at the given point, and adjust the refcount
- * to the underlying data. Most reference-counting bucket types will
- * be able to use this function as their split function without any
- * additional type-specific handling.
- * @param b The bucket to be split
- * @param point The offset of the first byte in the new bucket
- * @return APR_EINVAL if the point is not within the bucket;
- * APR_ENOMEM if allocation failed;
- * or APR_SUCCESS
- */
-APU_DECLARE_NONSTD(apr_status_t) apr_bucket_shared_split(apr_bucket *b,
- apr_size_t point);
-
-/**
- * Copy a refcounted bucket, incrementing the reference count. Most
- * reference-counting bucket types will be able to use this function
- * as their copy function without any additional type-specific handling.
- * @param a The bucket to copy
- * @param b Returns a pointer to the new bucket
- * @return APR_ENOMEM if allocation failed;
- or APR_SUCCESS
- */
-APU_DECLARE_NONSTD(apr_status_t) apr_bucket_shared_copy(apr_bucket *a,
- apr_bucket **b);
-
-
-/* ***** Functions to Create Buckets of varying types ***** */
-/*
- * Each bucket type foo has two initialization functions:
- * apr_bucket_foo_make which sets up some already-allocated memory as a
- * bucket of type foo; and apr_bucket_foo_create which allocates memory
- * for the bucket, calls apr_bucket_make_foo, and initializes the
- * bucket's list pointers. The apr_bucket_foo_make functions are used
- * inside the bucket code to change the type of buckets in place;
- * other code should call apr_bucket_foo_create. All the initialization
- * functions change nothing if they fail.
- */
-
-/**
- * Create an End of Stream bucket. This indicates that there is no more data
- * coming from down the filter stack. All filters should flush at this point.
- * @param list The freelist from which this bucket should be allocated
- * @return The new bucket, or NULL if allocation failed
- */
-APU_DECLARE(apr_bucket *) apr_bucket_eos_create(apr_bucket_alloc_t *list);
-
-/**
- * Make the bucket passed in an EOS bucket. This indicates that there is no
- * more data coming from down the filter stack. All filters should flush at
- * this point.
- * @param b The bucket to make into an EOS bucket
- * @return The new bucket, or NULL if allocation failed
- */
-APU_DECLARE(apr_bucket *) apr_bucket_eos_make(apr_bucket *b);
-
-/**
- * Create a flush bucket. This indicates that filters should flush their
- * data. There is no guarantee that they will flush it, but this is the
- * best we can do.
- * @param list The freelist from which this bucket should be allocated
- * @return The new bucket, or NULL if allocation failed
- */
-APU_DECLARE(apr_bucket *) apr_bucket_flush_create(apr_bucket_alloc_t *list);
-
-/**
- * Make the bucket passed in a FLUSH bucket. This indicates that filters
- * should flush their data. There is no guarantee that they will flush it,
- * but this is the best we can do.
- * @param b The bucket to make into a FLUSH bucket
- * @return The new bucket, or NULL if allocation failed
- */
-APU_DECLARE(apr_bucket *) apr_bucket_flush_make(apr_bucket *b);
-
-/**
- * Create a bucket referring to long-lived data.
- * @param buf The data to insert into the bucket
- * @param nbyte The size of the data to insert.
- * @param list The freelist from which this bucket should be allocated
- * @return The new bucket, or NULL if allocation failed
- */
-APU_DECLARE(apr_bucket *) apr_bucket_immortal_create(const char *buf,
- apr_size_t nbyte,
- apr_bucket_alloc_t *list);
-
-/**
- * Make the bucket passed in a bucket refer to long-lived data
- * @param b The bucket to make into a IMMORTAL bucket
- * @param buf The data to insert into the bucket
- * @param nbyte The size of the data to insert.
- * @return The new bucket, or NULL if allocation failed
- */
-APU_DECLARE(apr_bucket *) apr_bucket_immortal_make(apr_bucket *b,
- const char *buf,
- apr_size_t nbyte);
-
-/**
- * Create a bucket referring to data on the stack.
- * @param buf The data to insert into the bucket
- * @param nbyte The size of the data to insert.
- * @param list The freelist from which this bucket should be allocated
- * @return The new bucket, or NULL if allocation failed
- */
-APU_DECLARE(apr_bucket *) apr_bucket_transient_create(const char *buf,
- apr_size_t nbyte,
- apr_bucket_alloc_t *list);
-
-/**
- * Make the bucket passed in a bucket refer to stack data
- * @param b The bucket to make into a TRANSIENT bucket
- * @param buf The data to insert into the bucket
- * @param nbyte The size of the data to insert.
- * @return The new bucket, or NULL if allocation failed
- */
-APU_DECLARE(apr_bucket *) apr_bucket_transient_make(apr_bucket *b,
- const char *buf,
- apr_size_t nbyte);
-
-/**
- * Create a bucket referring to memory on the heap. If the caller asks
- * for the data to be copied, this function always allocates 4K of
- * memory so that more data can be added to the bucket without
- * requiring another allocation. Therefore not all the data may be put
- * into the bucket. If copying is not requested then the bucket takes
- * over responsibility for free()ing the memory.
- * @param buf The buffer to insert into the bucket
- * @param nbyte The size of the buffer to insert.
- * @param free_func Function to use to free the data; NULL indicates that the
- * bucket should make a copy of the data
- * @param list The freelist from which this bucket should be allocated
- * @return The new bucket, or NULL if allocation failed
- */
-APU_DECLARE(apr_bucket *) apr_bucket_heap_create(const char *buf,
- apr_size_t nbyte,
- void (*free_func)(void *data),
- apr_bucket_alloc_t *list);
-/**
- * Make the bucket passed in a bucket refer to heap data
- * @param b The bucket to make into a HEAP bucket
- * @param buf The buffer to insert into the bucket
- * @param nbyte The size of the buffer to insert.
- * @param free_func Function to use to free the data; NULL indicates that the
- * bucket should make a copy of the data
- * @return The new bucket, or NULL if allocation failed
- */
-APU_DECLARE(apr_bucket *) apr_bucket_heap_make(apr_bucket *b, const char *buf,
- apr_size_t nbyte,
- void (*free_func)(void *data));
-
-/**
- * Create a bucket referring to memory allocated from a pool.
- *
- * @param buf The buffer to insert into the bucket
- * @param length The number of bytes referred to by this bucket
- * @param pool The pool the memory was allocated from
- * @param list The freelist from which this bucket should be allocated
- * @return The new bucket, or NULL if allocation failed
- */
-APU_DECLARE(apr_bucket *) apr_bucket_pool_create(const char *buf,
- apr_size_t length,
- apr_pool_t *pool,
- apr_bucket_alloc_t *list);
-
-/**
- * Make the bucket passed in a bucket refer to pool data
- * @param b The bucket to make into a pool bucket
- * @param buf The buffer to insert into the bucket
- * @param length The number of bytes referred to by this bucket
- * @param pool The pool the memory was allocated from
- * @return The new bucket, or NULL if allocation failed
- */
-APU_DECLARE(apr_bucket *) apr_bucket_pool_make(apr_bucket *b, const char *buf,
- apr_size_t length,
- apr_pool_t *pool);
-
-#if APR_HAS_MMAP
-/**
- * Create a bucket referring to mmap()ed memory.
- * @param mm The mmap to insert into the bucket
- * @param start The offset of the first byte in the mmap
- * that this bucket refers to
- * @param length The number of bytes referred to by this bucket
- * @param list The freelist from which this bucket should be allocated
- * @return The new bucket, or NULL if allocation failed
- */
-APU_DECLARE(apr_bucket *) apr_bucket_mmap_create(apr_mmap_t *mm,
- apr_off_t start,
- apr_size_t length,
- apr_bucket_alloc_t *list);
-
-/**
- * Make the bucket passed in a bucket refer to an MMAP'ed file
- * @param b The bucket to make into a MMAP bucket
- * @param mm The mmap to insert into the bucket
- * @param start The offset of the first byte in the mmap
- * that this bucket refers to
- * @param length The number of bytes referred to by this bucket
- * @return The new bucket, or NULL if allocation failed
- */
-APU_DECLARE(apr_bucket *) apr_bucket_mmap_make(apr_bucket *b, apr_mmap_t *mm,
- apr_off_t start,
- apr_size_t length);
-#endif
-
-/**
- * Create a bucket referring to a socket.
- * @param thissock The socket to put in the bucket
- * @param list The freelist from which this bucket should be allocated
- * @return The new bucket, or NULL if allocation failed
- */
-APU_DECLARE(apr_bucket *) apr_bucket_socket_create(apr_socket_t *thissock,
- apr_bucket_alloc_t *list);
-/**
- * Make the bucket passed in a bucket refer to a socket
- * @param b The bucket to make into a SOCKET bucket
- * @param thissock The socket to put in the bucket
- * @return The new bucket, or NULL if allocation failed
- */
-APU_DECLARE(apr_bucket *) apr_bucket_socket_make(apr_bucket *b,
- apr_socket_t *thissock);
-
-/**
- * Create a bucket referring to a pipe.
- * @param thispipe The pipe to put in the bucket
- * @param list The freelist from which this bucket should be allocated
- * @return The new bucket, or NULL if allocation failed
- */
-APU_DECLARE(apr_bucket *) apr_bucket_pipe_create(apr_file_t *thispipe,
- apr_bucket_alloc_t *list);
-
-/**
- * Make the bucket passed in a bucket refer to a pipe
- * @param b The bucket to make into a PIPE bucket
- * @param thispipe The pipe to put in the bucket
- * @return The new bucket, or NULL if allocation failed
- */
-APU_DECLARE(apr_bucket *) apr_bucket_pipe_make(apr_bucket *b,
- apr_file_t *thispipe);
-
-/**
- * Create a bucket referring to a file.
- * @param fd The file to put in the bucket
- * @param offset The offset where the data of interest begins in the file
- * @param len The amount of data in the file we are interested in
- * @param p The pool into which any needed structures should be created
- * while reading from this file bucket
- * @param list The freelist from which this bucket should be allocated
- * @return The new bucket, or NULL if allocation failed
- */
-APU_DECLARE(apr_bucket *) apr_bucket_file_create(apr_file_t *fd,
- apr_off_t offset,
- apr_size_t len,
- apr_pool_t *p,
- apr_bucket_alloc_t *list);
-
-/**
- * Make the bucket passed in a bucket refer to a file
- * @param b The bucket to make into a FILE bucket
- * @param fd The file to put in the bucket
- * @param offset The offset where the data of interest begins in the file
- * @param len The amount of data in the file we are interested in
- * @param p The pool into which any needed structures should be created
- * while reading from this file bucket
- * @return The new bucket, or NULL if allocation failed
- */
-APU_DECLARE(apr_bucket *) apr_bucket_file_make(apr_bucket *b, apr_file_t *fd,
- apr_off_t offset,
- apr_size_t len, apr_pool_t *p);
-
-/**
- * Enable or disable memory-mapping for a FILE bucket (default is enabled)
- * @param b The bucket
- * @param enabled Whether memory-mapping should be enabled
- * @return APR_SUCCESS normally, or an error code if the operation fails
- */
-APU_DECLARE(apr_status_t) apr_bucket_file_enable_mmap(apr_bucket *b,
- int enabled);
-
-/** @} */
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !APR_BUCKETS_H */
diff --git a/rubbos/app/apache2/include/apr_compat.h b/rubbos/app/apache2/include/apr_compat.h
deleted file mode 100644
index 45500c0a..00000000
--- a/rubbos/app/apache2/include/apr_compat.h
+++ /dev/null
@@ -1,231 +0,0 @@
-/* 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 APR_COMPAT_H
-#define APR_COMPAT_H
-
- /**
- * @file apr_compat.h
- * @brief APR Legacy Apache 1.3 Compatibility
- * @deprecated These defines are only present for historical purposes
- */
-
-/**
- * @defgroup apr_compat APR Legacy Apache 1.3 Compatibility
- * @ingroup APR
- * @{
- */
-
-/* redefine 1.3.x symbols to those that now live in libapr */
-
-/** @see APR_INLINE */
-#define ap_inline APR_INLINE
-
-/** @deprecated @see apr_md5_ctx_t */
-#define ap_md5_ctx_t apr_md5_ctx_t
-/** @deprecated @see apr_md5_encode */
-#define ap_MD5Encode apr_md5_encode
-/** @deprecated @see apr_md5_final */
-#define ap_MD5Final apr_md5_final
-/** @deprecated @see apr_md5_init */
-#define ap_MD5Init apr_md5_init
-/** @deprecated @see apr_md5_update */
-#define ap_MD5Update apr_md5_update
-/** @deprecated @see apr_array_append */
-#define ap_append_arrays apr_array_append
-/** @deprecated @see apr_array_cat */
-#define ap_array_cat apr_array_cat
-/** @deprecated @see apr_array_header_t */
-#define ap_array_header_t apr_array_header_t
-/** @deprecated @see apr_array_pstrcat */
-#define ap_array_pstrcat apr_array_pstrcat
-/** @deprecated @see apr_pool_free_blocks_num_bytes */
-#define ap_bytes_in_free_blocks apr_pool_free_blocks_num_bytes
-/** @deprecated @see apr_pool_num_bytes */
-#define ap_bytes_in_pool apr_pool_num_bytes
-/** @deprecated @see apr_check_file_time */
-#define ap_check_file_time apr_check_file_time
-/** @deprecated @see apr_filetype_e */
-#define ap_filetype_e apr_filetype_e
-/** @deprecated @see apr_pool_cleanup_for_exec */
-#define ap_cleanup_for_exec apr_pool_cleanup_for_exec
-/** @deprecated @see apr_pool_clear */
-#define ap_clear_pool apr_pool_clear
-/** @deprecated @see apr_table_clear */
-#define ap_clear_table apr_table_clear
-/** @deprecated @see apr_array_copy */
-#define ap_copy_array apr_array_copy
-/** @deprecated @see apr_array_copy_hdr */
-#define ap_copy_array_hdr apr_array_copy_hdr
-/** @deprecated @see apr_table_copy */
-#define ap_copy_table apr_table_copy
-/** @deprecated @see apr_cpystrn */
-#define ap_cpystrn apr_cpystrn
-/** @deprecated @see apr_day_snames */
-#define ap_day_snames apr_day_snames
-/** @deprecated @see apr_pool_destroy */
-#define ap_destroy_pool apr_pool_destroy
-/** @deprecated @see apr_time_exp_t */
-#define ap_exploded_time_t apr_time_exp_t
-/** @deprecated @see apr_fnmatch */
-#define ap_fnmatch apr_fnmatch
-/** @deprecated @see apr_getopt */
-#define ap_getopt apr_getopt
-/** @deprecated @see apr_inet_addr */
-#define ap_inet_addr apr_inet_addr
-/** @deprecated @see apr_pool_alloc_init */
-#define ap_init_alloc apr_pool_alloc_init
-/** @deprecated @see apr_is_empty_table */
-#define ap_is_empty_table apr_is_empty_table
-/** @deprecated @see apr_fnmatch_test */
-#define ap_is_fnmatch apr_fnmatch_test
-/** @deprecated @see apr_pool_cleanup_kill */
-#define ap_kill_cleanup apr_pool_cleanup_kill
-/** @deprecated @see apr_array_make */
-#define ap_make_array apr_array_make
-/** @deprecated @see apr_pool_sub_make */
-#define ap_make_sub_pool apr_pool_sub_make
-/** @deprecated @see apr_table_make */
-#define ap_make_table apr_table_make
-/** @deprecated @see apr_month_snames */
-#define ap_month_snames apr_month_snames
-/** @deprecated @see apr_pool_note_subprocess*/
-#define ap_note_subprocess apr_pool_note_subprocess
-/** @deprecated @see apr_pool_cleanup_null */
-#define ap_null_cleanup apr_pool_cleanup_null
-/** @deprecated @see apr_filepath_merge */
-#define ap_os_canonical_filename apr_filepath_merge
-/** @deprecated @see apr_filepath_merge */
-#define ap_os_case_canonical_filename apr_filepath_merge
-/** @deprecated @see apr_dso_load */
-#define ap_os_dso_load apr_dso_load
-/** @deprecated @see apr_dso_unload */
-#define ap_os_dso_unload apr_dso_unload
-/** @deprecated @see apr_dso_sym */
-#define ap_os_dso_sym apr_dso_sym
-/** @deprecated @see apr_dso_error */
-#define ap_os_dso_error apr_dso_error
-/** @deprecated @see apr_filepath_merge
- * @warning apr_filepath_merge rejects invalid filenames */
-#define ap_os_is_filename_valid apr_filepath_merge
-/** @deprecated @see apr_proc_kill */
-#define ap_os_kill apr_proc_kill
-/** @deprecated @see apr_filepath_merge */
-#define ap_os_systemcase_canonical_filename apr_filepath_merge
-/** @deprecated @see apr_table_overlap */
-#define ap_overlap_tables apr_table_overlap
-/** @deprecated @see apr_table_overlay */
-#define ap_overlay_tables apr_table_overlay
-/** @deprecated @see apr_palloc */
-#define ap_palloc apr_palloc
-/** @deprecated @see apr_pcalloc */
-#define ap_pcalloc apr_pcalloc
-/** @deprecated @see apr_pool_join */
-#define ap_pool_join apr_pool_join
-/** @deprecated @see apr_psprintf */
-#define ap_psprintf apr_psprintf
-/** @deprecated @see apr_pstrcat */
-#define ap_pstrcat apr_pstrcat
-/** @deprecated @see apr_pstrdup */
-#define ap_pstrdup apr_pstrdup
-/** @deprecated @see apr_pstrndup */
-#define ap_pstrndup apr_pstrndup
-/** @deprecated @see apr_array_push */
-#define ap_push_array apr_array_push
-/** @deprecated @see apr_pvsprintf */
-#define ap_pvsprintf apr_pvsprintf
-/** @deprecated @see apr_pool_cleanup_register */
-#define ap_register_cleanup apr_pool_cleanup_register
-/** @deprecated @see apr_proc_other_child_register */
-#define ap_register_other_child apr_proc_other_child_register
-/** @deprecated @see apr_pool_cleanup_run */
-#define ap_run_cleanup apr_pool_cleanup_run
-/** @deprecated @see apr_signal */
-#define ap_signal apr_signal
-/** @deprecated @see apr_snprintf */
-#define ap_snprintf apr_snprintf
-/** @deprecated @see apr_table_add */
-#define ap_table_add apr_table_add
-/** @deprecated @see apr_table_addn */
-#define ap_table_addn apr_table_addn
-/** @deprecated @see apr_table_do */
-#define ap_table_do apr_table_do
-/** @deprecated @see apr_table_elts */
-#define ap_table_elts apr_table_elts
-/** @deprecated @see apr_table_get */
-#define ap_table_get apr_table_get
-/** @deprecated @see apr_table_merge */
-#define ap_table_merge apr_table_merge
-/** @deprecated @see apr_table_mergen */
-#define ap_table_mergen apr_table_mergen
-/** @deprecated @see apr_table_set */
-#define ap_table_set apr_table_set
-/** @deprecated @see apr_table_setn */
-#define ap_table_setn apr_table_setn
-/** @deprecated @see apr_table_unset */
-#define ap_table_unset apr_table_unset
-/** @deprecated @see apr_proc_other_child_unregister */
-#define ap_unregister_other_child apr_proc_other_child_unregister
-/** @deprecated @see apr_password_validate */
-#define ap_validate_password apr_password_validate
-/** @deprecated @see apr_vformatter */
-#define ap_vformatter apr_vformatter
-/** @deprecated @see apr_vsnprintf */
-#define ap_vsnprintf apr_vsnprintf
-/** @deprecated @see apr_wait_t */
-#define ap_wait_t apr_wait_t
-
-/** @deprecated @see apr_isalnum */
-#define ap_isalnum apr_isalnum
-/** @deprecated @see apr_isalpha*/
-#define ap_isalpha apr_isalpha
-/** @deprecated @see apr_iscntrl */
-#define ap_iscntrl apr_iscntrl
-/** @deprecated @see apr_isdigit */
-#define ap_isdigit apr_isdigit
-/** @deprecated @see apr_isgraph */
-#define ap_isgraph apr_isgraph
-/** @deprecated @see apr_islower */
-#define ap_islower apr_islower
-/** @deprecated @see apr_isascii */
-#define ap_isascii apr_isascii
-/** @deprecated @see apr_isprint */
-#define ap_isprint apr_isprint
-/** @deprecated @see apr_ispunct */
-#define ap_ispunct apr_ispunct
-/** @deprecated @see apr_isspace */
-#define ap_isspace apr_isspace
-/** @deprecated @see apr_isupper */
-#define ap_isupper apr_isupper
-/** @deprecated @see apr_isxdigit */
-#define ap_isxdigit apr_isxdigit
-/** @deprecated @see apr_tolower */
-#define ap_tolower apr_tolower
-/** @deprecated @see apr_toupper */
-#define ap_toupper apr_toupper
-
-/** @deprecated @see APR_USEC_PER_SEC */
-#define AP_USEC_PER_SEC APR_USEC_PER_SEC
-/** @deprecated @see APR_RFC822_DATE_LEN */
-#define AP_RFC822_DATE_LEN APR_RFC822_DATE_LEN
-/** @deprecated @see APR_OVERLAP_TABLES_MERGE */
-#define AP_OVERLAP_TABLES_MERGE APR_OVERLAP_TABLES_MERGE
-/** @deprecated @see APR_OVERLAP_TABLES_SET */
-#define AP_OVERLAP_TABLES_SET APR_OVERLAP_TABLES_SET
-
-/** @} */
-
-#endif /* APR_COMPAT_H */
diff --git a/rubbos/app/apache2/include/apr_date.h b/rubbos/app/apache2/include/apr_date.h
deleted file mode 100644
index 87500a33..00000000
--- a/rubbos/app/apache2/include/apr_date.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/* Copyright 2000-2005 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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 APR_DATE_H
-#define APR_DATE_H
-
-/**
- * @file apr_date.h
- * @brief APR-UTIL date routines
- */
-
-/**
- * @defgroup APR_Util_Date Date routines
- * @ingroup APR_Util
- * @{
- */
-
-/*
- * apr_date.h: prototypes for date parsing utility routines
- */
-
-#include "apu.h"
-#include "apr_time.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** A bad date. */
-#define APR_DATE_BAD ((apr_time_t)0)
-
-/**
- * Compare a string to a mask
- * @param data The string to compare
- * @param mask Mask characters (arbitrary maximum is 256 characters):
- * <PRE>
- * '\@' - uppercase letter
- * '\$' - lowercase letter
- * '\&' - hex digit
- * '#' - digit
- * '~' - digit or space
- * '*' - swallow remaining characters
- * </PRE>
- * @remark The mask tests for an exact match for any other character
- * @return 1 if the string matches, 0 otherwise
- */
-APU_DECLARE(int) apr_date_checkmask(const char *data, const char *mask);
-
-/**
- * Parses an HTTP date in one of three standard forms:
- * <PRE>
- * Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123
- * Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036
- * Sun Nov 6 08:49:37 1994 ; ANSI C's asctime() format
- * </PRE>
- * @param date The date in one of the three formats above
- * @return the apr_time_t number of microseconds since 1 Jan 1970 GMT, or
- * 0 if this would be out of range or if the date is invalid.
- */
-APU_DECLARE(apr_time_t) apr_date_parse_http(const char *date);
-
-/**
- * Parses a string resembling an RFC 822 date. This is meant to be
- * leinent in its parsing of dates. Hence, this will parse a wider
- * range of dates than apr_date_parse_http.
- *
- * The prominent mailer (or poster, if mailer is unknown) that has
- * been seen in the wild is included for the unknown formats.
- * <PRE>
- * Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123
- * Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036
- * Sun Nov 6 08:49:37 1994 ; ANSI C's asctime() format
- * Sun, 6 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123
- * Sun, 06 Nov 94 08:49:37 GMT ; RFC 822
- * Sun, 6 Nov 94 08:49:37 GMT ; RFC 822
- * Sun, 06 Nov 94 08:49 GMT ; Unknown [drtr\@ast.cam.ac.uk]
- * Sun, 6 Nov 94 08:49 GMT ; Unknown [drtr\@ast.cam.ac.uk]
- * Sun, 06 Nov 94 8:49:37 GMT ; Unknown [Elm 70.85]
- * Sun, 6 Nov 94 8:49:37 GMT ; Unknown [Elm 70.85]
- * </PRE>
- *
- * @param date The date in one of the formats above
- * @return the apr_time_t number of microseconds since 1 Jan 1970 GMT, or
- * 0 if this would be out of range or if the date is invalid.
- */
-APU_DECLARE(apr_time_t) apr_date_parse_rfc(const char *date);
-
-/** @} */
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !APR_DATE_H */
diff --git a/rubbos/app/apache2/include/apr_dbm.h b/rubbos/app/apache2/include/apr_dbm.h
deleted file mode 100644
index d34f9ad3..00000000
--- a/rubbos/app/apache2/include/apr_dbm.h
+++ /dev/null
@@ -1,224 +0,0 @@
-/* Copyright 2000-2005 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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 APR_DBM_H
-#define APR_DBM_H
-
-#include "apu.h"
-#include "apr.h"
-#include "apr_errno.h"
-#include "apr_pools.h"
-#include "apr_file_info.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @file apr_dbm.h
- * @brief APR-UTIL DBM library
- */
-/**
- * @defgroup APR_Util_DBM DBM routines
- * @ingroup APR_Util
- * @{
- */
-/**
- * Structure for referencing a dbm
- */
-typedef struct apr_dbm_t apr_dbm_t;
-
-/**
- * Structure for referencing the datum record within a dbm
- */
-typedef struct
-{
- /** pointer to the 'data' to retrieve/store in the DBM */
- char *dptr;
- /** size of the 'data' to retrieve/store in the DBM */
- apr_size_t dsize;
-} apr_datum_t;
-
-/* modes to open the DB */
-#define APR_DBM_READONLY 1 /**< open for read-only access */
-#define APR_DBM_READWRITE 2 /**< open for read-write access */
-#define APR_DBM_RWCREATE 3 /**< open for r/w, create if needed */
-#define APR_DBM_RWTRUNC 4 /**< open for r/w, truncating an existing
- DB if present */
-/**
- * Open a dbm file by file name and type of DBM
- * @param dbm The newly opened database
- * @param type The type of the DBM (not all may be available at run time)
- * <pre>
- * GDBM for GDBM files
- * SDBM for SDBM files
- * DB for berkeley DB files
- * NDBM for NDBM files
- * default for the default DBM type
- * </pre>
- * @param name The dbm file name to open
- * @param mode The flag value
- * <PRE>
- * APR_DBM_READONLY open for read-only access
- * APR_DBM_READWRITE open for read-write access
- * APR_DBM_RWCREATE open for r/w, create if needed
- * APR_DBM_RWTRUNC open for r/w, truncate if already there
- * </PRE>
- * @param perm Permissions to apply to if created
- * @param cntxt The pool to use when creating the dbm
- * @remark The dbm name may not be a true file name, as many dbm packages
- * append suffixes for seperate data and index files.
- */
-
-APU_DECLARE(apr_status_t) apr_dbm_open_ex(apr_dbm_t **dbm, const char* type,
- const char *name,
- apr_int32_t mode, apr_fileperms_t perm,
- apr_pool_t *cntxt);
-
-
-/**
- * Open a dbm file by file name
- * @param dbm The newly opened database
- * @param name The dbm file name to open
- * @param mode The flag value
- * <PRE>
- * APR_DBM_READONLY open for read-only access
- * APR_DBM_READWRITE open for read-write access
- * APR_DBM_RWCREATE open for r/w, create if needed
- * APR_DBM_RWTRUNC open for r/w, truncate if already there
- * </PRE>
- * @param perm Permissions to apply to if created
- * @param cntxt The pool to use when creating the dbm
- * @remark The dbm name may not be a true file name, as many dbm packages
- * append suffixes for seperate data and index files.
- */
-APU_DECLARE(apr_status_t) apr_dbm_open(apr_dbm_t **dbm, const char *name,
- apr_int32_t mode, apr_fileperms_t perm,
- apr_pool_t *cntxt);
-
-/**
- * Close a dbm file previously opened by apr_dbm_open
- * @param dbm The database to close
- */
-APU_DECLARE(void) apr_dbm_close(apr_dbm_t *dbm);
-
-/**
- * Fetch a dbm record value by key
- * @param dbm The database
- * @param key The key datum to find this record
- * @param pvalue The value datum retrieved for this record
- */
-APU_DECLARE(apr_status_t) apr_dbm_fetch(apr_dbm_t *dbm, apr_datum_t key,
- apr_datum_t *pvalue);
-/**
- * Store a dbm record value by key
- * @param dbm The database
- * @param key The key datum to store this record by
- * @param value The value datum to store in this record
- */
-APU_DECLARE(apr_status_t) apr_dbm_store(apr_dbm_t *dbm, apr_datum_t key,
- apr_datum_t value);
-
-/**
- * Delete a dbm record value by key
- * @param dbm The database
- * @param key The key datum of the record to delete
- * @remark It is not an error to delete a non-existent record.
- */
-APU_DECLARE(apr_status_t) apr_dbm_delete(apr_dbm_t *dbm, apr_datum_t key);
-
-/**
- * Search for a key within the dbm
- * @param dbm The database
- * @param key The datum describing a key to test
- */
-APU_DECLARE(int) apr_dbm_exists(apr_dbm_t *dbm, apr_datum_t key);
-
-/**
- * Retrieve the first record key from a dbm
- * @param dbm The database
- * @param pkey The key datum of the first record
- */
-APU_DECLARE(apr_status_t) apr_dbm_firstkey(apr_dbm_t *dbm, apr_datum_t *pkey);
-
-/**
- * Retrieve the next record key from a dbm
- * @param dbm The database
- * @param pkey The key datum of the next record
- */
-APU_DECLARE(apr_status_t) apr_dbm_nextkey(apr_dbm_t *dbm, apr_datum_t *pkey);
-
-/**
- * Proactively toss any memory associated with the apr_datum_t.
- * @param dbm The database
- * @param data The datum to free.
- */
-APU_DECLARE(void) apr_dbm_freedatum(apr_dbm_t *dbm, apr_datum_t data);
-
-/**
- * Report more information when an apr_dbm function fails.
- * @param dbm The database
- * @param errcode A DBM-specific value for the error (for logging). If this
- * isn't needed, it may be NULL.
- * @param errbuf Location to store the error text
- * @param errbufsize The size of the provided buffer
- * @return The errbuf parameter, for convenience.
- */
-APU_DECLARE(char *) apr_dbm_geterror(apr_dbm_t *dbm, int *errcode,
- char *errbuf, apr_size_t errbufsize);
-/**
- * If the specified file/path were passed to apr_dbm_open(), return the
- * actual file/path names which would be (created and) used. At most, two
- * files may be used; used2 may be NULL if only one file is used.
- * @param pool The pool for allocating used1 and used2.
- * @param type The type of DBM you require info on
- * @param pathname The path name to generate used-names from.
- * @param used1 The first pathname used by the apr_dbm implementation.
- * @param used2 The second pathname used by apr_dbm. If only one file is
- * used by the specific implementation, this will be set to NULL.
- * @return An error if the specified type is invalid.
- * @remark The dbm file(s) don't need to exist. This function only manipulates
- * the pathnames.
- */
-APU_DECLARE(apr_status_t) apr_dbm_get_usednames_ex(apr_pool_t *pool,
- const char *type,
- const char *pathname,
- const char **used1,
- const char **used2);
-
-/**
- * If the specified file/path were passed to apr_dbm_open(), return the
- * actual file/path names which would be (created and) used. At most, two
- * files may be used; used2 may be NULL if only one file is used.
- * @param pool The pool for allocating used1 and used2.
- * @param pathname The path name to generate used-names from.
- * @param used1 The first pathname used by the apr_dbm implementation.
- * @param used2 The second pathname used by apr_dbm. If only one file is
- * used by the specific implementation, this will be set to NULL.
- * @remark The dbm file(s) don't need to exist. This function only manipulates
- * the pathnames.
- */
-APU_DECLARE(void) apr_dbm_get_usednames(apr_pool_t *pool,
- const char *pathname,
- const char **used1,
- const char **used2);
-
-/** @} */
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !APR_DBM_H */
diff --git a/rubbos/app/apache2/include/apr_dso.h b/rubbos/app/apache2/include/apr_dso.h
deleted file mode 100644
index ac701cfd..00000000
--- a/rubbos/app/apache2/include/apr_dso.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/* 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 APR_DSO_DOT_H
-#define APR_DSO_DOT_H
-
-/**
- * @file apr_dso.h
- * @brief APR Dynamic Object Handling Routines
- */
-
-#include "apr.h"
-#include "apr_pools.h"
-#include "apr_errno.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @defgroup apr_dso Dynamic Object Handling
- * @ingroup APR
- * @{
- */
-
-#if APR_HAS_DSO || defined(DOXYGEN)
-
-/**
- * Structure for referencing dynamic objects
- */
-typedef struct apr_dso_handle_t apr_dso_handle_t;
-
-/**
- * Structure for referencing symbols from dynamic objects
- */
-typedef void * apr_dso_handle_sym_t;
-
-/**
- * Load a DSO library.
- * @param res_handle Location to store new handle for the DSO.
- * @param path Path to the DSO library
- * @param ctx Pool to use.
- * @bug We aught to provide an alternative to RTLD_GLOBAL, which
- * is the only supported method of loading DSOs today.
- */
-APR_DECLARE(apr_status_t) apr_dso_load(apr_dso_handle_t **res_handle,
- const char *path, apr_pool_t *ctx);
-
-/**
- * Close a DSO library.
- * @param handle handle to close.
- */
-APR_DECLARE(apr_status_t) apr_dso_unload(apr_dso_handle_t *handle);
-
-/**
- * Load a symbol from a DSO handle.
- * @param ressym Location to store the loaded symbol
- * @param handle handle to load the symbol from.
- * @param symname Name of the symbol to load.
- */
-APR_DECLARE(apr_status_t) apr_dso_sym(apr_dso_handle_sym_t *ressym,
- apr_dso_handle_t *handle,
- const char *symname);
-
-/**
- * Report more information when a DSO function fails.
- * @param dso The dso handle that has been opened
- * @param buf Location to store the dso error
- * @param bufsize The size of the provided buffer
- */
-APR_DECLARE(const char *) apr_dso_error(apr_dso_handle_t *dso, char *buf, apr_size_t bufsize);
-
-#endif /* APR_HAS_DSO */
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/rubbos/app/apache2/include/apr_env.h b/rubbos/app/apache2/include/apr_env.h
deleted file mode 100644
index 05419c37..00000000
--- a/rubbos/app/apache2/include/apr_env.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/* 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 APR_ENV_H
-#define APR_ENV_H
-/**
- * @file apr_env.h
- * @brief APR Environment functions
- */
-#include "apr_errno.h"
-#include "apr_pools.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @defgroup apr_env Functions for manupulating the environment
- * @ingroup APR
- * @{
- */
-
-/**
- * Get the value of an environment variable
- * @param value the returned value, allocated from @a pool
- * @param envvar the name of the environment variable
- * @param pool where to allocate @a value and any temporary storage from
- */
-APR_DECLARE(apr_status_t) apr_env_get(char **value, const char *envvar,
- apr_pool_t *pool);
-
-/**
- * Set the value of an environment variable
- * @param envvar the name of the environment variable
- * @param value the value to set
- * @param pool where to allocate temporary storage from
- */
-APR_DECLARE(apr_status_t) apr_env_set(const char *envvar, const char *value,
- apr_pool_t *pool);
-
-/**
- * Delete a variable from the environment
- * @param envvar the name of the environment variable
- * @param pool where to allocate temporary storage from
- */
-APR_DECLARE(apr_status_t) apr_env_delete(const char *envvar, apr_pool_t *pool);
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ! APR_ENV_H */
diff --git a/rubbos/app/apache2/include/apr_errno.h b/rubbos/app/apache2/include/apr_errno.h
deleted file mode 100644
index 9d1d8447..00000000
--- a/rubbos/app/apache2/include/apr_errno.h
+++ /dev/null
@@ -1,1219 +0,0 @@
-/* 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 APR_ERRNO_H
-#define APR_ERRNO_H
-
-/**
- * @file apr_errno.h
- * @brief APR Error Codes
- */
-
-#include "apr.h"
-
-#if APR_HAVE_ERRNO_H
-#include <errno.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @defgroup apr_errno Error Codes
- * @ingroup APR
- * @{
- */
-
-/**
- * Type for specifying an error or status code.
- */
-typedef int apr_status_t;
-
-/**
- * Return a human readable string describing the specified error.
- * @param statcode The error code the get a string for.
- * @param buf A buffer to hold the error string.
- * @param bufsize Size of the buffer to hold the string.
- */
-APR_DECLARE(char *) apr_strerror(apr_status_t statcode, char *buf,
- apr_size_t bufsize);
-
-#if defined(DOXYGEN)
-/**
- * @def APR_FROM_OS_ERROR(os_err_type syserr)
- * Fold a platform specific error into an apr_status_t code.
- * @return apr_status_t
- * @param e The platform os error code.
- * @warning macro implementation; the syserr argument may be evaluated
- * multiple times.
- */
-#define APR_FROM_OS_ERROR(e) (e == 0 ? APR_SUCCESS : e + APR_OS_START_SYSERR)
-
-/**
- * @def APR_TO_OS_ERROR(apr_status_t statcode)
- * @return os_err_type
- * Fold an apr_status_t code back to the native platform defined error.
- * @param e The apr_status_t folded platform os error code.
- * @warning macro implementation; the statcode argument may be evaluated
- * multiple times. If the statcode was not created by apr_get_os_error
- * or APR_FROM_OS_ERROR, the results are undefined.
- */
-#define APR_TO_OS_ERROR(e) (e == 0 ? APR_SUCCESS : e - APR_OS_START_SYSERR)
-
-/** @def apr_get_os_error()
- * @return apr_status_t the last platform error, folded into apr_status_t, on most platforms
- * @remark This retrieves errno, or calls a GetLastError() style function, and
- * folds it with APR_FROM_OS_ERROR. Some platforms (such as OS2) have no
- * such mechanism, so this call may be unsupported. Do NOT use this
- * call for socket errors from socket, send, recv etc!
- */
-
-/** @def apr_set_os_error(e)
- * Reset the last platform error, unfolded from an apr_status_t, on some platforms
- * @param e The OS error folded in a prior call to APR_FROM_OS_ERROR()
- * @warning This is a macro implementation; the statcode argument may be evaluated
- * multiple times. If the statcode was not created by apr_get_os_error
- * or APR_FROM_OS_ERROR, the results are undefined. This macro sets
- * errno, or calls a SetLastError() style function, unfolding statcode
- * with APR_TO_OS_ERROR. Some platforms (such as OS2) have no such
- * mechanism, so this call may be unsupported.
- */
-
-/** @def apr_get_netos_error()
- * Return the last socket error, folded into apr_status_t, on all platforms
- * @remark This retrieves errno or calls a GetLastSocketError() style function,
- * and folds it with APR_FROM_OS_ERROR.
- */
-
-/** @def apr_set_netos_error(e)
- * Reset the last socket error, unfolded from an apr_status_t
- * @param e The socket error folded in a prior call to APR_FROM_OS_ERROR()
- * @warning This is a macro implementation; the statcode argument may be evaluated
- * multiple times. If the statcode was not created by apr_get_os_error
- * or APR_FROM_OS_ERROR, the results are undefined. This macro sets
- * errno, or calls a WSASetLastError() style function, unfolding
- * socketcode with APR_TO_OS_ERROR.
- */
-
-#endif /* defined(DOXYGEN) */
-
-/**
- * APR_OS_START_ERROR is where the APR specific error values start.
- */
-#define APR_OS_START_ERROR 20000
-/**
- * APR_OS_ERRSPACE_SIZE is the maximum number of errors you can fit
- * into one of the error/status ranges below -- except for
- * APR_OS_START_USERERR, which see.
- */
-#define APR_OS_ERRSPACE_SIZE 50000
-/**
- * APR_OS_START_STATUS is where the APR specific status codes start.
- */
-#define APR_OS_START_STATUS (APR_OS_START_ERROR + APR_OS_ERRSPACE_SIZE)
-/**
- * APR_OS_START_USERERR are reserved for applications that use APR that
- * layer their own error codes along with APR's. Note that the
- * error immediately following this one is set ten times farther
- * away than usual, so that users of apr have a lot of room in
- * which to declare custom error codes.
- */
-#define APR_OS_START_USERERR (APR_OS_START_STATUS + APR_OS_ERRSPACE_SIZE)
-/**
- * APR_OS_START_USEERR is obsolete, defined for compatibility only.
- * Use APR_OS_START_USERERR instead.
- */
-#define APR_OS_START_USEERR APR_OS_START_USERERR
-/**
- * APR_OS_START_CANONERR is where APR versions of errno values are defined
- * on systems which don't have the corresponding errno.
- */
-#define APR_OS_START_CANONERR (APR_OS_START_USERERR \
- + (APR_OS_ERRSPACE_SIZE * 10))
-/**
- * APR_OS_START_EAIERR folds EAI_ error codes from getaddrinfo() into
- * apr_status_t values.
- */
-#define APR_OS_START_EAIERR (APR_OS_START_CANONERR + APR_OS_ERRSPACE_SIZE)
-/**
- * APR_OS_START_SYSERR folds platform-specific system error values into
- * apr_status_t values.
- */
-#define APR_OS_START_SYSERR (APR_OS_START_EAIERR + APR_OS_ERRSPACE_SIZE)
-
-/** no error. @see APR_STATUS_IS_SUCCESS */
-#define APR_SUCCESS 0
-
-/**
- * @defgroup APR_Error APR Error Values
- * <PRE>
- * <b>APR ERROR VALUES</b>
- * APR_ENOSTAT APR was unable to perform a stat on the file
- * APR_ENOPOOL APR was not provided a pool with which to allocate memory
- * APR_EBADDATE APR was given an invalid date
- * APR_EINVALSOCK APR was given an invalid socket
- * APR_ENOPROC APR was not given a process structure
- * APR_ENOTIME APR was not given a time structure
- * APR_ENODIR APR was not given a directory structure
- * APR_ENOLOCK APR was not given a lock structure
- * APR_ENOPOLL APR was not given a poll structure
- * APR_ENOSOCKET APR was not given a socket
- * APR_ENOTHREAD APR was not given a thread structure
- * APR_ENOTHDKEY APR was not given a thread key structure
- * APR_ENOSHMAVAIL There is no more shared memory available
- * APR_EDSOOPEN APR was unable to open the dso object. For more
- * information call apr_dso_error().
- * APR_EGENERAL General failure (specific information not available)
- * APR_EBADIP The specified IP address is invalid
- * APR_EBADMASK The specified netmask is invalid
- * APR_ESYMNOTFOUND Could not find the requested symbol
- * </PRE>
- *
- * <PRE>
- * <b>APR STATUS VALUES</b>
- * APR_INCHILD Program is currently executing in the child
- * APR_INPARENT Program is currently executing in the parent
- * APR_DETACH The thread is detached
- * APR_NOTDETACH The thread is not detached
- * APR_CHILD_DONE The child has finished executing
- * APR_CHILD_NOTDONE The child has not finished executing
- * APR_TIMEUP The operation did not finish before the timeout
- * APR_INCOMPLETE The operation was incomplete although some processing
- * was performed and the results are partially valid
- * APR_BADCH Getopt found an option not in the option string
- * APR_BADARG Getopt found an option that is missing an argument
- * and an argument was specified in the option string
- * APR_EOF APR has encountered the end of the file
- * APR_NOTFOUND APR was unable to find the socket in the poll structure
- * APR_ANONYMOUS APR is using anonymous shared memory
- * APR_FILEBASED APR is using a file name as the key to the shared memory
- * APR_KEYBASED APR is using a shared key as the key to the shared memory
- * APR_EINIT Ininitalizer value. If no option has been found, but
- * the status variable requires a value, this should be used
- * APR_ENOTIMPL The APR function has not been implemented on this
- * platform, either because nobody has gotten to it yet,
- * or the function is impossible on this platform.
- * APR_EMISMATCH Two passwords do not match.
- * APR_EABSOLUTE The given path was absolute.
- * APR_ERELATIVE The given path was relative.
- * APR_EINCOMPLETE The given path was neither relative nor absolute.
- * APR_EABOVEROOT The given path was above the root path.
- * APR_EBUSY The given lock was busy.
- * APR_EPROC_UNKNOWN The given process wasn't recognized by APR
- * </PRE>
- * @{
- */
-/** @see APR_STATUS_IS_ENOSTAT */
-#define APR_ENOSTAT (APR_OS_START_ERROR + 1)
-/** @see APR_STATUS_IS_ENOPOOL */
-#define APR_ENOPOOL (APR_OS_START_ERROR + 2)
-/* empty slot: +3 */
-/** @see APR_STATUS_IS_EBADDATE */
-#define APR_EBADDATE (APR_OS_START_ERROR + 4)
-/** @see APR_STATUS_IS_EINVALSOCK */
-#define APR_EINVALSOCK (APR_OS_START_ERROR + 5)
-/** @see APR_STATUS_IS_ENOPROC */
-#define APR_ENOPROC (APR_OS_START_ERROR + 6)
-/** @see APR_STATUS_IS_ENOTIME */
-#define APR_ENOTIME (APR_OS_START_ERROR + 7)
-/** @see APR_STATUS_IS_ENODIR */
-#define APR_ENODIR (APR_OS_START_ERROR + 8)
-/** @see APR_STATUS_IS_ENOLOCK */
-#define APR_ENOLOCK (APR_OS_START_ERROR + 9)
-/** @see APR_STATUS_IS_ENOPOLL */
-#define APR_ENOPOLL (APR_OS_START_ERROR + 10)
-/** @see APR_STATUS_IS_ENOSOCKET */
-#define APR_ENOSOCKET (APR_OS_START_ERROR + 11)
-/** @see APR_STATUS_IS_ENOTHREAD */
-#define APR_ENOTHREAD (APR_OS_START_ERROR + 12)
-/** @see APR_STATUS_IS_ENOTHDKEY */
-#define APR_ENOTHDKEY (APR_OS_START_ERROR + 13)
-/** @see APR_STATUS_IS_EGENERAL */
-#define APR_EGENERAL (APR_OS_START_ERROR + 14)
-/** @see APR_STATUS_IS_ENOSHMAVAIL */
-#define APR_ENOSHMAVAIL (APR_OS_START_ERROR + 15)
-/** @see APR_STATUS_IS_EBADIP */
-#define APR_EBADIP (APR_OS_START_ERROR + 16)
-/** @see APR_STATUS_IS_EBADMASK */
-#define APR_EBADMASK (APR_OS_START_ERROR + 17)
-/* empty slot: +18 */
-/** @see APR_STATUS_IS_EDSOPEN */
-#define APR_EDSOOPEN (APR_OS_START_ERROR + 19)
-/** @see APR_STATUS_IS_EABSOLUTE */
-#define APR_EABSOLUTE (APR_OS_START_ERROR + 20)
-/** @see APR_STATUS_IS_ERELATIVE */
-#define APR_ERELATIVE (APR_OS_START_ERROR + 21)
-/** @see APR_STATUS_IS_EINCOMPLETE */
-#define APR_EINCOMPLETE (APR_OS_START_ERROR + 22)
-/** @see APR_STATUS_IS_EABOVEROOT */
-#define APR_EABOVEROOT (APR_OS_START_ERROR + 23)
-/** @see APR_STATUS_IS_EBADPATH */
-#define APR_EBADPATH (APR_OS_START_ERROR + 24)
-/** @see APR_STATUS_IS_EPATHWILD */
-#define APR_EPATHWILD (APR_OS_START_ERROR + 25)
-/** @see APR_STATUS_IS_ESYMNOTFOUND */
-#define APR_ESYMNOTFOUND (APR_OS_START_ERROR + 26)
-/** @see APR_STATUS_IS_EPROC_UNKNOWN */
-#define APR_EPROC_UNKNOWN (APR_OS_START_ERROR + 27)
-/** @} */
-
-/**
- * @defgroup APR_STATUS_IS Status Value Tests
- * @warning For any particular error condition, more than one of these tests
- * may match. This is because platform-specific error codes may not
- * always match the semantics of the POSIX codes these tests (and the
- * correcponding APR error codes) are named after. A notable example
- * are the APR_STATUS_IS_ENOENT and APR_STATUS_IS_ENOTDIR tests on
- * Win32 platforms. The programmer should always be aware of this and
- * adjust the order of the tests accordingly.
- * @{
- */
-/**
- * APR was unable to perform a stat on the file
- * @warning always use this test, as platform-specific variances may meet this
- * more than one error code
- */
-#define APR_STATUS_IS_ENOSTAT(s) ((s) == APR_ENOSTAT)
-/**
- * APR was not provided a pool with which to allocate memory
- * @warning always use this test, as platform-specific variances may meet this
- * more than one error code
- */
-#define APR_STATUS_IS_ENOPOOL(s) ((s) == APR_ENOPOOL)
-/** APR was given an invalid date */
-#define APR_STATUS_IS_EBADDATE(s) ((s) == APR_EBADDATE)
-/** APR was given an invalid socket */
-#define APR_STATUS_IS_EINVALSOCK(s) ((s) == APR_EINVALSOCK)
-/** APR was not given a process structure */
-#define APR_STATUS_IS_ENOPROC(s) ((s) == APR_ENOPROC)
-/** APR was not given a time structure */
-#define APR_STATUS_IS_ENOTIME(s) ((s) == APR_ENOTIME)
-/** APR was not given a directory structure */
-#define APR_STATUS_IS_ENODIR(s) ((s) == APR_ENODIR)
-/** APR was not given a lock structure */
-#define APR_STATUS_IS_ENOLOCK(s) ((s) == APR_ENOLOCK)
-/** APR was not given a poll structure */
-#define APR_STATUS_IS_ENOPOLL(s) ((s) == APR_ENOPOLL)
-/** APR was not given a socket */
-#define APR_STATUS_IS_ENOSOCKET(s) ((s) == APR_ENOSOCKET)
-/** APR was not given a thread structure */
-#define APR_STATUS_IS_ENOTHREAD(s) ((s) == APR_ENOTHREAD)
-/** APR was not given a thread key structure */
-#define APR_STATUS_IS_ENOTHDKEY(s) ((s) == APR_ENOTHDKEY)
-/** Generic Error which can not be put into another spot */
-#define APR_STATUS_IS_EGENERAL(s) ((s) == APR_EGENERAL)
-/** There is no more shared memory available */
-#define APR_STATUS_IS_ENOSHMAVAIL(s) ((s) == APR_ENOSHMAVAIL)
-/** The specified IP address is invalid */
-#define APR_STATUS_IS_EBADIP(s) ((s) == APR_EBADIP)
-/** The specified netmask is invalid */
-#define APR_STATUS_IS_EBADMASK(s) ((s) == APR_EBADMASK)
-/* empty slot: +18 */
-/**
- * APR was unable to open the dso object.
- * For more information call apr_dso_error().
- */
-#if defined(WIN32)
-#define APR_STATUS_IS_EDSOOPEN(s) ((s) == APR_EDSOOPEN \
- || APR_TO_OS_ERROR(s) == ERROR_MOD_NOT_FOUND)
-#else
-#define APR_STATUS_IS_EDSOOPEN(s) ((s) == APR_EDSOOPEN)
-#endif
-/** The given path was absolute. */
-#define APR_STATUS_IS_EABSOLUTE(s) ((s) == APR_EABSOLUTE)
-/** The given path was relative. */
-#define APR_STATUS_IS_ERELATIVE(s) ((s) == APR_ERELATIVE)
-/** The given path was neither relative nor absolute. */
-#define APR_STATUS_IS_EINCOMPLETE(s) ((s) == APR_EINCOMPLETE)
-/** The given path was above the root path. */
-#define APR_STATUS_IS_EABOVEROOT(s) ((s) == APR_EABOVEROOT)
-/** The given path was bad. */
-#define APR_STATUS_IS_EBADPATH(s) ((s) == APR_EBADPATH)
-/** The given path contained wildcards. */
-#define APR_STATUS_IS_EPATHWILD(s) ((s) == APR_EPATHWILD)
-/** Could not find the requested symbol.
- * For more information call apr_dso_error().
- */
-#if defined(WIN32)
-#define APR_STATUS_IS_ESYMNOTFOUND(s) ((s) == APR_ESYMNOTFOUND \
- || APR_TO_OS_ERROR(s) == ERROR_PROC_NOT_FOUND)
-#else
-#define APR_STATUS_IS_ESYMNOTFOUND(s) ((s) == APR_ESYMNOTFOUND)
-#endif
-/** The given process was not recognized by APR. */
-#define APR_STATUS_IS_EPROC_UNKNOWN(s) ((s) == APR_EPROC_UNKNOWN)
-
-/** @} */
-
-/**
- * @addtogroup APR_Error
- * @{
- */
-/** @see APR_STATUS_IS_INCHILD */
-#define APR_INCHILD (APR_OS_START_STATUS + 1)
-/** @see APR_STATUS_IS_INPARENT */
-#define APR_INPARENT (APR_OS_START_STATUS + 2)
-/** @see APR_STATUS_IS_DETACH */
-#define APR_DETACH (APR_OS_START_STATUS + 3)
-/** @see APR_STATUS_IS_NOTDETACH */
-#define APR_NOTDETACH (APR_OS_START_STATUS + 4)
-/** @see APR_STATUS_IS_CHILD_DONE */
-#define APR_CHILD_DONE (APR_OS_START_STATUS + 5)
-/** @see APR_STATUS_IS_CHILD_NOTDONE */
-#define APR_CHILD_NOTDONE (APR_OS_START_STATUS + 6)
-/** @see APR_STATUS_IS_TIMEUP */
-#define APR_TIMEUP (APR_OS_START_STATUS + 7)
-/** @see APR_STATUS_IS_INCOMPLETE */
-#define APR_INCOMPLETE (APR_OS_START_STATUS + 8)
-/* empty slot: +9 */
-/* empty slot: +10 */
-/* empty slot: +11 */
-/** @see APR_STATUS_IS_BADCH */
-#define APR_BADCH (APR_OS_START_STATUS + 12)
-/** @see APR_STATUS_IS_BADARG */
-#define APR_BADARG (APR_OS_START_STATUS + 13)
-/** @see APR_STATUS_IS_EOF */
-#define APR_EOF (APR_OS_START_STATUS + 14)
-/** @see APR_STATUS_IS_NOTFOUND */
-#define APR_NOTFOUND (APR_OS_START_STATUS + 15)
-/* empty slot: +16 */
-/* empty slot: +17 */
-/* empty slot: +18 */
-/** @see APR_STATUS_IS_ANONYMOUS */
-#define APR_ANONYMOUS (APR_OS_START_STATUS + 19)
-/** @see APR_STATUS_IS_FILEBASED */
-#define APR_FILEBASED (APR_OS_START_STATUS + 20)
-/** @see APR_STATUS_IS_KEYBASED */
-#define APR_KEYBASED (APR_OS_START_STATUS + 21)
-/** @see APR_STATUS_IS_EINIT */
-#define APR_EINIT (APR_OS_START_STATUS + 22)
-/** @see APR_STATUS_IS_ENOTIMPL */
-#define APR_ENOTIMPL (APR_OS_START_STATUS + 23)
-/** @see APR_STATUS_IS_EMISMATCH */
-#define APR_EMISMATCH (APR_OS_START_STATUS + 24)
-/** @see APR_STATUS_IS_EBUSY */
-#define APR_EBUSY (APR_OS_START_STATUS + 25)
-/** @} */
-
-/**
- * @addtogroup APR_STATUS_IS
- * @{
- */
-/**
- * Program is currently executing in the child
- * @warning
- * always use this test, as platform-specific variances may meet this
- * more than one error code */
-#define APR_STATUS_IS_INCHILD(s) ((s) == APR_INCHILD)
-/**
- * Program is currently executing in the parent
- * @warning
- * always use this test, as platform-specific variances may meet this
- * more than one error code
- */
-#define APR_STATUS_IS_INPARENT(s) ((s) == APR_INPARENT)
-/**
- * The thread is detached
- * @warning
- * always use this test, as platform-specific variances may meet this
- * more than one error code
- */
-#define APR_STATUS_IS_DETACH(s) ((s) == APR_DETACH)
-/**
- * The thread is not detached
- * @warning
- * always use this test, as platform-specific variances may meet this
- * more than one error code
- */
-#define APR_STATUS_IS_NOTDETACH(s) ((s) == APR_NOTDETACH)
-/**
- * The child has finished executing
- * @warning
- * always use this test, as platform-specific variances may meet this
- * more than one error code
- */
-#define APR_STATUS_IS_CHILD_DONE(s) ((s) == APR_CHILD_DONE)
-/**
- * The child has not finished executing
- * @warning
- * always use this test, as platform-specific variances may meet this
- * more than one error code
- */
-#define APR_STATUS_IS_CHILD_NOTDONE(s) ((s) == APR_CHILD_NOTDONE)
-/**
- * The operation did not finish before the timeout
- * @warning
- * always use this test, as platform-specific variances may meet this
- * more than one error code
- */
-#define APR_STATUS_IS_TIMEUP(s) ((s) == APR_TIMEUP)
-/**
- * The operation was incomplete although some processing was performed
- * and the results are partially valid.
- * @warning
- * always use this test, as platform-specific variances may meet this
- * more than one error code
- */
-#define APR_STATUS_IS_INCOMPLETE(s) ((s) == APR_INCOMPLETE)
-/* empty slot: +9 */
-/* empty slot: +10 */
-/* empty slot: +11 */
-/**
- * Getopt found an option not in the option string
- * @warning
- * always use this test, as platform-specific variances may meet this
- * more than one error code
- */
-#define APR_STATUS_IS_BADCH(s) ((s) == APR_BADCH)
-/**
- * Getopt found an option not in the option string and an argument was
- * specified in the option string
- * @warning
- * always use this test, as platform-specific variances may meet this
- * more than one error code
- */
-#define APR_STATUS_IS_BADARG(s) ((s) == APR_BADARG)
-/**
- * APR has encountered the end of the file
- * @warning
- * always use this test, as platform-specific variances may meet this
- * more than one error code
- */
-#define APR_STATUS_IS_EOF(s) ((s) == APR_EOF)
-/**
- * APR was unable to find the socket in the poll structure
- * @warning
- * always use this test, as platform-specific variances may meet this
- * more than one error code
- */
-#define APR_STATUS_IS_NOTFOUND(s) ((s) == APR_NOTFOUND)
-/* empty slot: +16 */
-/* empty slot: +17 */
-/* empty slot: +18 */
-/**
- * APR is using anonymous shared memory
- * @warning
- * always use this test, as platform-specific variances may meet this
- * more than one error code
- */
-#define APR_STATUS_IS_ANONYMOUS(s) ((s) == APR_ANONYMOUS)
-/**
- * APR is using a file name as the key to the shared memory
- * @warning
- * always use this test, as platform-specific variances may meet this
- * more than one error code
- */
-#define APR_STATUS_IS_FILEBASED(s) ((s) == APR_FILEBASED)
-/**
- * APR is using a shared key as the key to the shared memory
- * @warning
- * always use this test, as platform-specific variances may meet this
- * more than one error code
- */
-#define APR_STATUS_IS_KEYBASED(s) ((s) == APR_KEYBASED)
-/**
- * Ininitalizer value. If no option has been found, but
- * the status variable requires a value, this should be used
- * @warning
- * always use this test, as platform-specific variances may meet this
- * more than one error code
- */
-#define APR_STATUS_IS_EINIT(s) ((s) == APR_EINIT)
-/**
- * The APR function has not been implemented on this
- * platform, either because nobody has gotten to it yet,
- * or the function is impossible on this platform.
- * @warning
- * always use this test, as platform-specific variances may meet this
- * more than one error code
- */
-#define APR_STATUS_IS_ENOTIMPL(s) ((s) == APR_ENOTIMPL)
-/**
- * Two passwords do not match.
- * @warning
- * always use this test, as platform-specific variances may meet this
- * more than one error code
- */
-#define APR_STATUS_IS_EMISMATCH(s) ((s) == APR_EMISMATCH)
-/**
- * The given lock was busy
- * @warning always use this test, as platform-specific variances may meet this
- * more than one error code
- */
-#define APR_STATUS_IS_EBUSY(s) ((s) == APR_EBUSY)
-
-/** @} */
-
-/**
- * @addtogroup APR_Error APR Error Values
- * @{
- */
-/* APR CANONICAL ERROR VALUES */
-/** @see APR_STATUS_IS_EACCES */
-#ifdef EACCES
-#define APR_EACCES EACCES
-#else
-#define APR_EACCES (APR_OS_START_CANONERR + 1)
-#endif
-
-/** @see APR_STATUS_IS_EXIST */
-#ifdef EEXIST
-#define APR_EEXIST EEXIST
-#else
-#define APR_EEXIST (APR_OS_START_CANONERR + 2)
-#endif
-
-/** @see APR_STATUS_IS_ENAMETOOLONG */
-#ifdef ENAMETOOLONG
-#define APR_ENAMETOOLONG ENAMETOOLONG
-#else
-#define APR_ENAMETOOLONG (APR_OS_START_CANONERR + 3)
-#endif
-
-/** @see APR_STATUS_IS_ENOENT */
-#ifdef ENOENT
-#define APR_ENOENT ENOENT
-#else
-#define APR_ENOENT (APR_OS_START_CANONERR + 4)
-#endif
-
-/** @see APR_STATUS_IS_ENOTDIR */
-#ifdef ENOTDIR
-#define APR_ENOTDIR ENOTDIR
-#else
-#define APR_ENOTDIR (APR_OS_START_CANONERR + 5)
-#endif
-
-/** @see APR_STATUS_IS_ENOSPC */
-#ifdef ENOSPC
-#define APR_ENOSPC ENOSPC
-#else
-#define APR_ENOSPC (APR_OS_START_CANONERR + 6)
-#endif
-
-/** @see APR_STATUS_IS_ENOMEM */
-#ifdef ENOMEM
-#define APR_ENOMEM ENOMEM
-#else
-#define APR_ENOMEM (APR_OS_START_CANONERR + 7)
-#endif
-
-/** @see APR_STATUS_IS_EMFILE */
-#ifdef EMFILE
-#define APR_EMFILE EMFILE
-#else
-#define APR_EMFILE (APR_OS_START_CANONERR + 8)
-#endif
-
-/** @see APR_STATUS_IS_ENFILE */
-#ifdef ENFILE
-#define APR_ENFILE ENFILE
-#else
-#define APR_ENFILE (APR_OS_START_CANONERR + 9)
-#endif
-
-/** @see APR_STATUS_IS_EBADF */
-#ifdef EBADF
-#define APR_EBADF EBADF
-#else
-#define APR_EBADF (APR_OS_START_CANONERR + 10)
-#endif
-
-/** @see APR_STATUS_IS_EINVAL */
-#ifdef EINVAL
-#define APR_EINVAL EINVAL
-#else
-#define APR_EINVAL (APR_OS_START_CANONERR + 11)
-#endif
-
-/** @see APR_STATUS_IS_ESPIPE */
-#ifdef ESPIPE
-#define APR_ESPIPE ESPIPE
-#else
-#define APR_ESPIPE (APR_OS_START_CANONERR + 12)
-#endif
-
-/**
- * @see APR_STATUS_IS_EAGAIN
- * @warning use APR_STATUS_IS_EAGAIN instead of just testing this value
- */
-#ifdef EAGAIN
-#define APR_EAGAIN EAGAIN
-#elif defined(EWOULDBLOCK)
-#define APR_EAGAIN EWOULDBLOCK
-#else
-#define APR_EAGAIN (APR_OS_START_CANONERR + 13)
-#endif
-
-/** @see APR_STATUS_IS_EINTR */
-#ifdef EINTR
-#define APR_EINTR EINTR
-#else
-#define APR_EINTR (APR_OS_START_CANONERR + 14)
-#endif
-
-/** @see APR_STATUS_IS_ENOTSOCK */
-#ifdef ENOTSOCK
-#define APR_ENOTSOCK ENOTSOCK
-#else
-#define APR_ENOTSOCK (APR_OS_START_CANONERR + 15)
-#endif
-
-/** @see APR_STATUS_IS_ECONNREFUSED */
-#ifdef ECONNREFUSED
-#define APR_ECONNREFUSED ECONNREFUSED
-#else
-#define APR_ECONNREFUSED (APR_OS_START_CANONERR + 16)
-#endif
-
-/** @see APR_STATUS_IS_EINPROGRESS */
-#ifdef EINPROGRESS
-#define APR_EINPROGRESS EINPROGRESS
-#else
-#define APR_EINPROGRESS (APR_OS_START_CANONERR + 17)
-#endif
-
-/**
- * @see APR_STATUS_IS_ECONNABORTED
- * @warning use APR_STATUS_IS_ECONNABORTED instead of just testing this value
- */
-
-#ifdef ECONNABORTED
-#define APR_ECONNABORTED ECONNABORTED
-#else
-#define APR_ECONNABORTED (APR_OS_START_CANONERR + 18)
-#endif
-
-/** @see APR_STATUS_IS_ECONNRESET */
-#ifdef ECONNRESET
-#define APR_ECONNRESET ECONNRESET
-#else
-#define APR_ECONNRESET (APR_OS_START_CANONERR + 19)
-#endif
-
-/** @see APR_STATUS_IS_ETIMEDOUT */
-#ifdef ETIMEDOUT
-#define APR_ETIMEDOUT ETIMEDOUT
-#else
-#define APR_ETIMEDOUT (APR_OS_START_CANONERR + 20)
-#endif
-
-/** @see APR_STATUS_IS_EHOSTUNREACH */
-#ifdef EHOSTUNREACH
-#define APR_EHOSTUNREACH EHOSTUNREACH
-#else
-#define APR_EHOSTUNREACH (APR_OS_START_CANONERR + 21)
-#endif
-
-/** @see APR_STATUS_IS_ENETUNREACH */
-#ifdef ENETUNREACH
-#define APR_ENETUNREACH ENETUNREACH
-#else
-#define APR_ENETUNREACH (APR_OS_START_CANONERR + 22)
-#endif
-
-/** @see APR_STATUS_IS_EFTYPE */
-#ifdef EFTYPE
-#define APR_EFTYPE EFTYPE
-#else
-#define APR_EFTYPE (APR_OS_START_CANONERR + 23)
-#endif
-
-/** @see APR_STATUS_IS_EPIPE */
-#ifdef EPIPE
-#define APR_EPIPE EPIPE
-#else
-#define APR_EPIPE (APR_OS_START_CANONERR + 24)
-#endif
-
-/** @see APR_STATUS_IS_EXDEV */
-#ifdef EXDEV
-#define APR_EXDEV EXDEV
-#else
-#define APR_EXDEV (APR_OS_START_CANONERR + 25)
-#endif
-
-/** @see APR_STATUS_IS_ENOTEMPTY */
-#ifdef ENOTEMPTY
-#define APR_ENOTEMPTY ENOTEMPTY
-#else
-#define APR_ENOTEMPTY (APR_OS_START_CANONERR + 26)
-#endif
-
-/** @} */
-
-#if defined(OS2) && !defined(DOXYGEN)
-
-#define APR_FROM_OS_ERROR(e) (e == 0 ? APR_SUCCESS : e + APR_OS_START_SYSERR)
-#define APR_TO_OS_ERROR(e) (e == 0 ? APR_SUCCESS : e - APR_OS_START_SYSERR)
-
-#define INCL_DOSERRORS
-#define INCL_DOS
-
-/* Leave these undefined.
- * OS2 doesn't rely on the errno concept.
- * The API calls always return a result codes which
- * should be filtered through APR_FROM_OS_ERROR().
- *
- * #define apr_get_os_error() (APR_FROM_OS_ERROR(GetLastError()))
- * #define apr_set_os_error(e) (SetLastError(APR_TO_OS_ERROR(e)))
- */
-
-/* A special case, only socket calls require this;
- */
-#define apr_get_netos_error() (APR_FROM_OS_ERROR(errno))
-#define apr_set_netos_error(e) (errno = APR_TO_OS_ERROR(e))
-
-/* And this needs to be greped away for good:
- */
-#define APR_OS2_STATUS(e) (APR_FROM_OS_ERROR(e))
-
-#define APR_STATUS_IS_SUCCESS(s) ((s) == APR_SUCCESS \
- || (s) == APR_OS_START_SYSERR + NO_ERROR)
-
-/* These can't sit in a private header, so in spite of the extra size,
- * they need to be made available here.
- */
-#define SOCBASEERR 10000
-#define SOCEPERM (SOCBASEERR+1) /* Not owner */
-#define SOCESRCH (SOCBASEERR+3) /* No such process */
-#define SOCEINTR (SOCBASEERR+4) /* Interrupted system call */
-#define SOCENXIO (SOCBASEERR+6) /* No such device or address */
-#define SOCEBADF (SOCBASEERR+9) /* Bad file number */
-#define SOCEACCES (SOCBASEERR+13) /* Permission denied */
-#define SOCEFAULT (SOCBASEERR+14) /* Bad address */
-#define SOCEINVAL (SOCBASEERR+22) /* Invalid argument */
-#define SOCEMFILE (SOCBASEERR+24) /* Too many open files */
-#define SOCEPIPE (SOCBASEERR+32) /* Broken pipe */
-#define SOCEOS2ERR (SOCBASEERR+100) /* OS/2 Error */
-#define SOCEWOULDBLOCK (SOCBASEERR+35) /* Operation would block */
-#define SOCEINPROGRESS (SOCBASEERR+36) /* Operation now in progress */
-#define SOCEALREADY (SOCBASEERR+37) /* Operation already in progress */
-#define SOCENOTSOCK (SOCBASEERR+38) /* Socket operation on non-socket */
-#define SOCEDESTADDRREQ (SOCBASEERR+39) /* Destination address required */
-#define SOCEMSGSIZE (SOCBASEERR+40) /* Message too long */
-#define SOCEPROTOTYPE (SOCBASEERR+41) /* Protocol wrong type for socket */
-#define SOCENOPROTOOPT (SOCBASEERR+42) /* Protocol not available */
-#define SOCEPROTONOSUPPORT (SOCBASEERR+43) /* Protocol not supported */
-#define SOCESOCKTNOSUPPORT (SOCBASEERR+44) /* Socket type not supported */
-#define SOCEOPNOTSUPP (SOCBASEERR+45) /* Operation not supported on socket */
-#define SOCEPFNOSUPPORT (SOCBASEERR+46) /* Protocol family not supported */
-#define SOCEAFNOSUPPORT (SOCBASEERR+47) /* Address family not supported by protocol family */
-#define SOCEADDRINUSE (SOCBASEERR+48) /* Address already in use */
-#define SOCEADDRNOTAVAIL (SOCBASEERR+49) /* Can't assign requested address */
-#define SOCENETDOWN (SOCBASEERR+50) /* Network is down */
-#define SOCENETUNREACH (SOCBASEERR+51) /* Network is unreachable */
-#define SOCENETRESET (SOCBASEERR+52) /* Network dropped connection on reset */
-#define SOCECONNABORTED (SOCBASEERR+53) /* Software caused connection abort */
-#define SOCECONNRESET (SOCBASEERR+54) /* Connection reset by peer */
-#define SOCENOBUFS (SOCBASEERR+55) /* No buffer space available */
-#define SOCEISCONN (SOCBASEERR+56) /* Socket is already connected */
-#define SOCENOTCONN (SOCBASEERR+57) /* Socket is not connected */
-#define SOCESHUTDOWN (SOCBASEERR+58) /* Can't send after socket shutdown */
-#define SOCETOOMANYREFS (SOCBASEERR+59) /* Too many references: can't splice */
-#define SOCETIMEDOUT (SOCBASEERR+60) /* Connection timed out */
-#define SOCECONNREFUSED (SOCBASEERR+61) /* Connection refused */
-#define SOCELOOP (SOCBASEERR+62) /* Too many levels of symbolic links */
-#define SOCENAMETOOLONG (SOCBASEERR+63) /* File name too long */
-#define SOCEHOSTDOWN (SOCBASEERR+64) /* Host is down */
-#define SOCEHOSTUNREACH (SOCBASEERR+65) /* No route to host */
-#define SOCENOTEMPTY (SOCBASEERR+66) /* Directory not empty */
-
-/* APR CANONICAL ERROR TESTS */
-#define APR_STATUS_IS_EACCES(s) ((s) == APR_EACCES \
- || (s) == APR_OS_START_SYSERR + ERROR_ACCESS_DENIED \
- || (s) == APR_OS_START_SYSERR + ERROR_SHARING_VIOLATION)
-#define APR_STATUS_IS_EEXIST(s) ((s) == APR_EEXIST \
- || (s) == APR_OS_START_SYSERR + ERROR_OPEN_FAILED \
- || (s) == APR_OS_START_SYSERR + ERROR_FILE_EXISTS \
- || (s) == APR_OS_START_SYSERR + ERROR_ALREADY_EXISTS \
- || (s) == APR_OS_START_SYSERR + ERROR_ACCESS_DENIED)
-#define APR_STATUS_IS_ENAMETOOLONG(s) ((s) == APR_ENAMETOOLONG \
- || (s) == APR_OS_START_SYSERR + ERROR_FILENAME_EXCED_RANGE \
- || (s) == APR_OS_START_SYSERR + SOCENAMETOOLONG)
-#define APR_STATUS_IS_ENOENT(s) ((s) == APR_ENOENT \
- || (s) == APR_OS_START_SYSERR + ERROR_FILE_NOT_FOUND \
- || (s) == APR_OS_START_SYSERR + ERROR_PATH_NOT_FOUND \
- || (s) == APR_OS_START_SYSERR + ERROR_NO_MORE_FILES \
- || (s) == APR_OS_START_SYSERR + ERROR_OPEN_FAILED)
-#define APR_STATUS_IS_ENOTDIR(s) ((s) == APR_ENOTDIR)
-#define APR_STATUS_IS_ENOSPC(s) ((s) == APR_ENOSPC \
- || (s) == APR_OS_START_SYSERR + ERROR_DISK_FULL)
-#define APR_STATUS_IS_ENOMEM(s) ((s) == APR_ENOMEM)
-#define APR_STATUS_IS_EMFILE(s) ((s) == APR_EMFILE \
- || (s) == APR_OS_START_SYSERR + ERROR_TOO_MANY_OPEN_FILES)
-#define APR_STATUS_IS_ENFILE(s) ((s) == APR_ENFILE)
-#define APR_STATUS_IS_EBADF(s) ((s) == APR_EBADF \
- || (s) == APR_OS_START_SYSERR + ERROR_INVALID_HANDLE)
-#define APR_STATUS_IS_EINVAL(s) ((s) == APR_EINVAL \
- || (s) == APR_OS_START_SYSERR + ERROR_INVALID_PARAMETER \
- || (s) == APR_OS_START_SYSERR + ERROR_INVALID_FUNCTION)
-#define APR_STATUS_IS_ESPIPE(s) ((s) == APR_ESPIPE \
- || (s) == APR_OS_START_SYSERR + ERROR_NEGATIVE_SEEK)
-#define APR_STATUS_IS_EAGAIN(s) ((s) == APR_EAGAIN \
- || (s) == APR_OS_START_SYSERR + ERROR_NO_DATA \
- || (s) == APR_OS_START_SYSERR + SOCEWOULDBLOCK \
- || (s) == APR_OS_START_SYSERR + ERROR_LOCK_VIOLATION)
-#define APR_STATUS_IS_EINTR(s) ((s) == APR_EINTR \
- || (s) == APR_OS_START_SYSERR + SOCEINTR)
-#define APR_STATUS_IS_ENOTSOCK(s) ((s) == APR_ENOTSOCK \
- || (s) == APR_OS_START_SYSERR + SOCENOTSOCK)
-#define APR_STATUS_IS_ECONNREFUSED(s) ((s) == APR_ECONNREFUSED \
- || (s) == APR_OS_START_SYSERR + SOCECONNREFUSED)
-#define APR_STATUS_IS_EINPROGRESS(s) ((s) == APR_EINPROGRESS \
- || (s) == APR_OS_START_SYSERR + SOCEINPROGRESS)
-#define APR_STATUS_IS_ECONNABORTED(s) ((s) == APR_ECONNABORTED \
- || (s) == APR_OS_START_SYSERR + SOCECONNABORTED)
-#define APR_STATUS_IS_ECONNRESET(s) ((s) == APR_ECONNRESET \
- || (s) == APR_OS_START_SYSERR + SOCECONNRESET)
-#define APR_STATUS_IS_ETIMEDOUT(s) ((s) == APR_ETIMEDOUT \
- || (s) == APR_OS_START_SYSERR + SOCETIMEDOUT)
-#define APR_STATUS_IS_EHOSTUNREACH(s) ((s) == APR_EHOSTUNREACH \
- || (s) == APR_OS_START_SYSERR + SOCEHOSTUNREACH)
-#define APR_STATUS_IS_ENETUNREACH(s) ((s) == APR_ENETUNREACH \
- || (s) == APR_OS_START_SYSERR + SOCENETUNREACH)
-#define APR_STATUS_IS_EFTYPE(s) ((s) == APR_EFTYPE)
-#define APR_STATUS_IS_EPIPE(s) ((s) == APR_EPIPE \
- || (s) == APR_OS_START_SYSERR + ERROR_BROKEN_PIPE \
- || (s) == APR_OS_START_SYSERR + SOCEPIPE)
-#define APR_STATUS_IS_EXDEV(s) ((s) == APR_EXDEV \
- || (s) == APR_OS_START_SYSERR + ERROR_NOT_SAME_DEVICE)
-#define APR_STATUS_IS_ENOTEMPTY(s) ((s) == APR_ENOTEMPTY \
- || (s) == APR_OS_START_SYSERR + ERROR_DIR_NOT_EMPTY \
- || (s) == APR_OS_START_SYSERR + ERROR_ACCESS_DENIED)
-
-/*
- Sorry, too tired to wrap this up for OS2... feel free to
- fit the following into their best matches.
-
- { ERROR_NO_SIGNAL_SENT, ESRCH },
- { SOCEALREADY, EALREADY },
- { SOCEDESTADDRREQ, EDESTADDRREQ },
- { SOCEMSGSIZE, EMSGSIZE },
- { SOCEPROTOTYPE, EPROTOTYPE },
- { SOCENOPROTOOPT, ENOPROTOOPT },
- { SOCEPROTONOSUPPORT, EPROTONOSUPPORT },
- { SOCESOCKTNOSUPPORT, ESOCKTNOSUPPORT },
- { SOCEOPNOTSUPP, EOPNOTSUPP },
- { SOCEPFNOSUPPORT, EPFNOSUPPORT },
- { SOCEAFNOSUPPORT, EAFNOSUPPORT },
- { SOCEADDRINUSE, EADDRINUSE },
- { SOCEADDRNOTAVAIL, EADDRNOTAVAIL },
- { SOCENETDOWN, ENETDOWN },
- { SOCENETRESET, ENETRESET },
- { SOCENOBUFS, ENOBUFS },
- { SOCEISCONN, EISCONN },
- { SOCENOTCONN, ENOTCONN },
- { SOCESHUTDOWN, ESHUTDOWN },
- { SOCETOOMANYREFS, ETOOMANYREFS },
- { SOCELOOP, ELOOP },
- { SOCEHOSTDOWN, EHOSTDOWN },
- { SOCENOTEMPTY, ENOTEMPTY },
- { SOCEPIPE, EPIPE }
-*/
-
-#elif defined(WIN32) && !defined(DOXYGEN) /* !defined(OS2) */
-
-#define APR_FROM_OS_ERROR(e) (e == 0 ? APR_SUCCESS : e + APR_OS_START_SYSERR)
-#define APR_TO_OS_ERROR(e) (e == 0 ? APR_SUCCESS : e - APR_OS_START_SYSERR)
-
-#define apr_get_os_error() (APR_FROM_OS_ERROR(GetLastError()))
-#define apr_set_os_error(e) (SetLastError(APR_TO_OS_ERROR(e)))
-
-/* A special case, only socket calls require this:
- */
-#define apr_get_netos_error() (APR_FROM_OS_ERROR(WSAGetLastError()))
-#define apr_set_netos_error(e) (WSASetLastError(APR_TO_OS_ERROR(e)))
-
-#define APR_STATUS_IS_SUCCESS(s) ((s) == APR_SUCCESS \
- || (s) == APR_OS_START_SYSERR + ERROR_SUCCESS)
-
-/* APR CANONICAL ERROR TESTS */
-#define APR_STATUS_IS_EACCES(s) ((s) == APR_EACCES \
- || (s) == APR_OS_START_SYSERR + ERROR_ACCESS_DENIED \
- || (s) == APR_OS_START_SYSERR + ERROR_CANNOT_MAKE \
- || (s) == APR_OS_START_SYSERR + ERROR_CURRENT_DIRECTORY \
- || (s) == APR_OS_START_SYSERR + ERROR_DRIVE_LOCKED \
- || (s) == APR_OS_START_SYSERR + ERROR_FAIL_I24 \
- || (s) == APR_OS_START_SYSERR + ERROR_LOCK_VIOLATION \
- || (s) == APR_OS_START_SYSERR + ERROR_LOCK_FAILED \
- || (s) == APR_OS_START_SYSERR + ERROR_NOT_LOCKED \
- || (s) == APR_OS_START_SYSERR + ERROR_NETWORK_ACCESS_DENIED \
- || (s) == APR_OS_START_SYSERR + ERROR_SHARING_VIOLATION)
-#define APR_STATUS_IS_EEXIST(s) ((s) == APR_EEXIST \
- || (s) == APR_OS_START_SYSERR + ERROR_FILE_EXISTS \
- || (s) == APR_OS_START_SYSERR + ERROR_ALREADY_EXISTS)
-#define APR_STATUS_IS_ENAMETOOLONG(s) ((s) == APR_ENAMETOOLONG \
- || (s) == APR_OS_START_SYSERR + ERROR_FILENAME_EXCED_RANGE \
- || (s) == APR_OS_START_SYSERR + WSAENAMETOOLONG)
-#define APR_STATUS_IS_ENOENT(s) ((s) == APR_ENOENT \
- || (s) == APR_OS_START_SYSERR + ERROR_FILE_NOT_FOUND \
- || (s) == APR_OS_START_SYSERR + ERROR_PATH_NOT_FOUND \
- || (s) == APR_OS_START_SYSERR + ERROR_OPEN_FAILED \
- || (s) == APR_OS_START_SYSERR + ERROR_NO_MORE_FILES)
-#define APR_STATUS_IS_ENOTDIR(s) ((s) == APR_ENOTDIR \
- || (s) == APR_OS_START_SYSERR + ERROR_PATH_NOT_FOUND \
- || (s) == APR_OS_START_SYSERR + ERROR_BAD_NETPATH \
- || (s) == APR_OS_START_SYSERR + ERROR_BAD_NET_NAME \
- || (s) == APR_OS_START_SYSERR + ERROR_BAD_PATHNAME \
- || (s) == APR_OS_START_SYSERR + ERROR_INVALID_DRIVE)
-#define APR_STATUS_IS_ENOSPC(s) ((s) == APR_ENOSPC \
- || (s) == APR_OS_START_SYSERR + ERROR_DISK_FULL)
-#define APR_STATUS_IS_ENOMEM(s) ((s) == APR_ENOMEM \
- || (s) == APR_OS_START_SYSERR + ERROR_ARENA_TRASHED \
- || (s) == APR_OS_START_SYSERR + ERROR_NOT_ENOUGH_MEMORY \
- || (s) == APR_OS_START_SYSERR + ERROR_INVALID_BLOCK \
- || (s) == APR_OS_START_SYSERR + ERROR_NOT_ENOUGH_QUOTA \
- || (s) == APR_OS_START_SYSERR + ERROR_OUTOFMEMORY)
-#define APR_STATUS_IS_EMFILE(s) ((s) == APR_EMFILE \
- || (s) == APR_OS_START_SYSERR + ERROR_TOO_MANY_OPEN_FILES)
-#define APR_STATUS_IS_ENFILE(s) ((s) == APR_ENFILE)
-#define APR_STATUS_IS_EBADF(s) ((s) == APR_EBADF \
- || (s) == APR_OS_START_SYSERR + ERROR_INVALID_HANDLE \
- || (s) == APR_OS_START_SYSERR + ERROR_INVALID_TARGET_HANDLE)
-#define APR_STATUS_IS_EINVAL(s) ((s) == APR_EINVAL \
- || (s) == APR_OS_START_SYSERR + ERROR_INVALID_ACCESS \
- || (s) == APR_OS_START_SYSERR + ERROR_INVALID_DATA \
- || (s) == APR_OS_START_SYSERR + ERROR_INVALID_FUNCTION \
- || (s) == APR_OS_START_SYSERR + ERROR_INVALID_HANDLE \
- || (s) == APR_OS_START_SYSERR + ERROR_INVALID_PARAMETER \
- || (s) == APR_OS_START_SYSERR + ERROR_NEGATIVE_SEEK)
-#define APR_STATUS_IS_ESPIPE(s) ((s) == APR_ESPIPE \
- || (s) == APR_OS_START_SYSERR + ERROR_SEEK_ON_DEVICE \
- || (s) == APR_OS_START_SYSERR + ERROR_NEGATIVE_SEEK)
-#define APR_STATUS_IS_EAGAIN(s) ((s) == APR_EAGAIN \
- || (s) == APR_OS_START_SYSERR + ERROR_NO_DATA \
- || (s) == APR_OS_START_SYSERR + ERROR_NO_PROC_SLOTS \
- || (s) == APR_OS_START_SYSERR + ERROR_NESTING_NOT_ALLOWED \
- || (s) == APR_OS_START_SYSERR + ERROR_MAX_THRDS_REACHED \
- || (s) == APR_OS_START_SYSERR + ERROR_LOCK_VIOLATION \
- || (s) == APR_OS_START_SYSERR + WSAEWOULDBLOCK)
-#define APR_STATUS_IS_EINTR(s) ((s) == APR_EINTR \
- || (s) == APR_OS_START_SYSERR + WSAEINTR)
-#define APR_STATUS_IS_ENOTSOCK(s) ((s) == APR_ENOTSOCK \
- || (s) == APR_OS_START_SYSERR + WSAENOTSOCK)
-#define APR_STATUS_IS_ECONNREFUSED(s) ((s) == APR_ECONNREFUSED \
- || (s) == APR_OS_START_SYSERR + WSAECONNREFUSED)
-#define APR_STATUS_IS_EINPROGRESS(s) ((s) == APR_EINPROGRESS \
- || (s) == APR_OS_START_SYSERR + WSAEINPROGRESS)
-#define APR_STATUS_IS_ECONNABORTED(s) ((s) == APR_ECONNABORTED \
- || (s) == APR_OS_START_SYSERR + WSAECONNABORTED)
-#define APR_STATUS_IS_ECONNRESET(s) ((s) == APR_ECONNRESET \
- || (s) == APR_OS_START_SYSERR + ERROR_NETNAME_DELETED \
- || (s) == APR_OS_START_SYSERR + WSAECONNRESET)
-#define APR_STATUS_IS_ETIMEDOUT(s) ((s) == APR_ETIMEDOUT \
- || (s) == APR_OS_START_SYSERR + WSAETIMEDOUT \
- || (s) == APR_OS_START_SYSERR + WAIT_TIMEOUT)
-#define APR_STATUS_IS_EHOSTUNREACH(s) ((s) == APR_EHOSTUNREACH \
- || (s) == APR_OS_START_SYSERR + WSAEHOSTUNREACH)
-#define APR_STATUS_IS_ENETUNREACH(s) ((s) == APR_ENETUNREACH \
- || (s) == APR_OS_START_SYSERR + WSAENETUNREACH)
-#define APR_STATUS_IS_EFTYPE(s) ((s) == APR_EFTYPE \
- || (s) == APR_OS_START_SYSERR + ERROR_EXE_MACHINE_TYPE_MISMATCH \
- || (s) == APR_OS_START_SYSERR + ERROR_INVALID_DLL \
- || (s) == APR_OS_START_SYSERR + ERROR_INVALID_MODULETYPE \
- || (s) == APR_OS_START_SYSERR + ERROR_BAD_EXE_FORMAT \
- || (s) == APR_OS_START_SYSERR + ERROR_INVALID_EXE_SIGNATURE \
- || (s) == APR_OS_START_SYSERR + ERROR_FILE_CORRUPT \
- || (s) == APR_OS_START_SYSERR + ERROR_BAD_FORMAT)
-#define APR_STATUS_IS_EPIPE(s) ((s) == APR_EPIPE \
- || (s) == APR_OS_START_SYSERR + ERROR_BROKEN_PIPE)
-#define APR_STATUS_IS_EXDEV(s) ((s) == APR_EXDEV \
- || (s) == APR_OS_START_SYSERR + ERROR_NOT_SAME_DEVICE)
-#define APR_STATUS_IS_ENOTEMPTY(s) ((s) == APR_ENOTEMPTY \
- || (s) == APR_OS_START_SYSERR + ERROR_DIR_NOT_EMPTY)
-
-#elif defined(NETWARE) && !defined(DOXYGEN) /* !defined(OS2) && !defined(WIN32) */
-
-#define APR_FROM_OS_ERROR(e) (e == 0 ? APR_SUCCESS : e + APR_OS_START_SYSERR)
-#define APR_TO_OS_ERROR(e) (e == 0 ? APR_SUCCESS : e - APR_OS_START_SYSERR)
-
-#define apr_get_os_error() (errno)
-#define apr_set_os_error(e) (errno = (e))
-
-/* A special case, only socket calls require this: */
-#define apr_get_netos_error() (APR_FROM_OS_ERROR(WSAGetLastError()))
-#define apr_set_netos_error(e) (WSASetLastError(APR_TO_OS_ERROR(e)))
-
-#define APR_STATUS_IS_SUCCESS(s) ((s) == APR_SUCCESS)
-
-/* APR CANONICAL ERROR TESTS */
-#define APR_STATUS_IS_EACCES(s) ((s) == APR_EACCES)
-#define APR_STATUS_IS_EEXIST(s) ((s) == APR_EEXIST)
-#define APR_STATUS_IS_ENAMETOOLONG(s) ((s) == APR_ENAMETOOLONG)
-#define APR_STATUS_IS_ENOENT(s) ((s) == APR_ENOENT)
-#define APR_STATUS_IS_ENOTDIR(s) ((s) == APR_ENOTDIR)
-#define APR_STATUS_IS_ENOSPC(s) ((s) == APR_ENOSPC)
-#define APR_STATUS_IS_ENOMEM(s) ((s) == APR_ENOMEM)
-#define APR_STATUS_IS_EMFILE(s) ((s) == APR_EMFILE)
-#define APR_STATUS_IS_ENFILE(s) ((s) == APR_ENFILE)
-#define APR_STATUS_IS_EBADF(s) ((s) == APR_EBADF)
-#define APR_STATUS_IS_EINVAL(s) ((s) == APR_EINVAL)
-#define APR_STATUS_IS_ESPIPE(s) ((s) == APR_ESPIPE)
-
-#define APR_STATUS_IS_EAGAIN(s) ((s) == APR_EAGAIN \
- || (s) == EWOULDBLOCK \
- || (s) == APR_OS_START_SYSERR + WSAEWOULDBLOCK)
-#define APR_STATUS_IS_EINTR(s) ((s) == APR_EINTR \
- || (s) == APR_OS_START_SYSERR + WSAEINTR)
-#define APR_STATUS_IS_ENOTSOCK(s) ((s) == APR_ENOTSOCK \
- || (s) == APR_OS_START_SYSERR + WSAENOTSOCK)
-#define APR_STATUS_IS_ECONNREFUSED(s) ((s) == APR_ECONNREFUSED \
- || (s) == APR_OS_START_SYSERR + WSAECONNREFUSED)
-#define APR_STATUS_IS_EINPROGRESS(s) ((s) == APR_EINPROGRESS \
- || (s) == APR_OS_START_SYSERR + WSAEINPROGRESS)
-#define APR_STATUS_IS_ECONNABORTED(s) ((s) == APR_ECONNABORTED \
- || (s) == APR_OS_START_SYSERR + WSAECONNABORTED)
-#define APR_STATUS_IS_ECONNRESET(s) ((s) == APR_ECONNRESET \
- || (s) == APR_OS_START_SYSERR + WSAECONNRESET)
-#define APR_STATUS_IS_ETIMEDOUT(s) ((s) == APR_ETIMEDOUT \
- || (s) == APR_OS_START_SYSERR + WSAETIMEDOUT \
- || (s) == APR_OS_START_SYSERR + WAIT_TIMEOUT)
-#define APR_STATUS_IS_EHOSTUNREACH(s) ((s) == APR_EHOSTUNREACH \
- || (s) == APR_OS_START_SYSERR + WSAEHOSTUNREACH)
-#define APR_STATUS_IS_ENETUNREACH(s) ((s) == APR_ENETUNREACH \
- || (s) == APR_OS_START_SYSERR + WSAENETUNREACH)
-#define APR_STATUS_IS_ENETDOWN(s) ((s) == APR_OS_START_SYSERR + WSAENETDOWN)
-#define APR_STATUS_IS_EFTYPE(s) ((s) == APR_EFTYPE)
-#define APR_STATUS_IS_EPIPE(s) ((s) == APR_EPIPE)
-#define APR_STATUS_IS_EXDEV(s) ((s) == APR_EXDEV)
-#define APR_STATUS_IS_ENOTEMPTY(s) ((s) == APR_ENOTEMPTY)
-
-#else /* !defined(NETWARE) && !defined(OS2) && !defined(WIN32) */
-
-/*
- * os error codes are clib error codes
- */
-#define APR_FROM_OS_ERROR(e) (e)
-#define APR_TO_OS_ERROR(e) (e)
-
-#define apr_get_os_error() (errno)
-#define apr_set_os_error(e) (errno = (e))
-
-/* A special case, only socket calls require this:
- */
-#define apr_get_netos_error() (errno)
-#define apr_set_netos_error(e) (errno = (e))
-/** @} */
-
-/**
- * @addtogroup APR_STATUS_IS
- * @{
- */
-/** no error */
-#define APR_STATUS_IS_SUCCESS(s) ((s) == APR_SUCCESS)
-
-/** permission denied */
-#define APR_STATUS_IS_EACCES(s) ((s) == APR_EACCES)
-/** file exists */
-#define APR_STATUS_IS_EEXIST(s) ((s) == APR_EEXIST)
-/** path name is too long */
-#define APR_STATUS_IS_ENAMETOOLONG(s) ((s) == APR_ENAMETOOLONG)
-/**
- * no such file or directory
- * @remark
- * EMVSCATLG can be returned by the automounter on z/OS for
- * paths which do not exist.
- */
-#ifdef EMVSCATLG
-#define APR_STATUS_IS_ENOENT(s) ((s) == APR_ENOENT \
- || (s) == EMVSCATLG)
-#else
-#define APR_STATUS_IS_ENOENT(s) ((s) == APR_ENOENT)
-#endif
-/** not a directory */
-#define APR_STATUS_IS_ENOTDIR(s) ((s) == APR_ENOTDIR)
-/** no space left on device */
-#define APR_STATUS_IS_ENOSPC(s) ((s) == APR_ENOSPC)
-/** not enough memory */
-#define APR_STATUS_IS_ENOMEM(s) ((s) == APR_ENOMEM)
-/** too many open files */
-#define APR_STATUS_IS_EMFILE(s) ((s) == APR_EMFILE)
-/** file table overflow */
-#define APR_STATUS_IS_ENFILE(s) ((s) == APR_ENFILE)
-/** bad file # */
-#define APR_STATUS_IS_EBADF(s) ((s) == APR_EBADF)
-/** invalid argument */
-#define APR_STATUS_IS_EINVAL(s) ((s) == APR_EINVAL)
-/** illegal seek */
-#define APR_STATUS_IS_ESPIPE(s) ((s) == APR_ESPIPE)
-
-/** operation would block */
-#if !defined(EWOULDBLOCK) || !defined(EAGAIN)
-#define APR_STATUS_IS_EAGAIN(s) ((s) == APR_EAGAIN)
-#elif (EWOULDBLOCK == EAGAIN)
-#define APR_STATUS_IS_EAGAIN(s) ((s) == APR_EAGAIN)
-#else
-#define APR_STATUS_IS_EAGAIN(s) ((s) == APR_EAGAIN \
- || (s) == EWOULDBLOCK)
-#endif
-
-/** interrupted system call */
-#define APR_STATUS_IS_EINTR(s) ((s) == APR_EINTR)
-/** socket operation on a non-socket */
-#define APR_STATUS_IS_ENOTSOCK(s) ((s) == APR_ENOTSOCK)
-/** Connection Refused */
-#define APR_STATUS_IS_ECONNREFUSED(s) ((s) == APR_ECONNREFUSED)
-/** operation now in progress */
-#define APR_STATUS_IS_EINPROGRESS(s) ((s) == APR_EINPROGRESS)
-
-/**
- * Software caused connection abort
- * @remark
- * EPROTO on certain older kernels really means ECONNABORTED, so we need to
- * ignore it for them. See discussion in new-httpd archives nh.9701 & nh.9603
- *
- * There is potentially a bug in Solaris 2.x x<6, and other boxes that
- * implement tcp sockets in userland (i.e. on top of STREAMS). On these
- * systems, EPROTO can actually result in a fatal loop. See PR#981 for
- * example. It's hard to handle both uses of EPROTO.
- */
-#ifdef EPROTO
-#define APR_STATUS_IS_ECONNABORTED(s) ((s) == APR_ECONNABORTED \
- || (s) == EPROTO)
-#else
-#define APR_STATUS_IS_ECONNABORTED(s) ((s) == APR_ECONNABORTED)
-#endif
-
-/** Connection Reset by peer */
-#define APR_STATUS_IS_ECONNRESET(s) ((s) == APR_ECONNRESET)
-/** Operation timed out */
-#define APR_STATUS_IS_ETIMEDOUT(s) ((s) == APR_ETIMEDOUT)
-/** no route to host */
-#define APR_STATUS_IS_EHOSTUNREACH(s) ((s) == APR_EHOSTUNREACH)
-/** network is unreachable */
-#define APR_STATUS_IS_ENETUNREACH(s) ((s) == APR_ENETUNREACH)
-/** inappropiate file type or format */
-#define APR_STATUS_IS_EFTYPE(s) ((s) == APR_EFTYPE)
-/** broken pipe */
-#define APR_STATUS_IS_EPIPE(s) ((s) == APR_EPIPE)
-/** cross device link */
-#define APR_STATUS_IS_EXDEV(s) ((s) == APR_EXDEV)
-/** Directory Not Empty */
-#define APR_STATUS_IS_ENOTEMPTY(s) ((s) == APR_ENOTEMPTY || \
- (s) == APR_EEXIST)
-/** @} */
-
-#endif /* !defined(NETWARE) && !defined(OS2) && !defined(WIN32) */
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ! APR_ERRNO_H */
diff --git a/rubbos/app/apache2/include/apr_file_info.h b/rubbos/app/apache2/include/apr_file_info.h
deleted file mode 100644
index 7e613d85..00000000
--- a/rubbos/app/apache2/include/apr_file_info.h
+++ /dev/null
@@ -1,421 +0,0 @@
-/* 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 APR_FILE_INFO_H
-#define APR_FILE_INFO_H
-
-/**
- * @file apr_file_info.h
- * @brief APR File Information
- */
-
-#include "apr.h"
-#include "apr_user.h"
-#include "apr_pools.h"
-#include "apr_tables.h"
-#include "apr_time.h"
-#include "apr_errno.h"
-
-#if APR_HAVE_SYS_UIO_H
-#include <sys/uio.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @defgroup apr_file_info File Information
- * @ingroup APR
- * @{
- */
-
-/* Many applications use the type member to determine the
- * existance of a file or initialization of the file info,
- * so the APR_NOFILE value must be distinct from APR_UNKFILE.
- */
-
-/** apr_filetype_e values for the filetype member of the
- * apr_file_info_t structure
- * @warning: Not all of the filetypes below can be determined.
- * For example, a given platform might not correctly report
- * a socket descriptor as APR_SOCK if that type isn't
- * well-identified on that platform. In such cases where
- * a filetype exists but cannot be described by the recognized
- * flags below, the filetype will be APR_UNKFILE. If the
- * filetype member is not determined, the type will be APR_NOFILE.
- */
-
-typedef enum {
- APR_NOFILE = 0, /**< no file type determined */
- APR_REG, /**< a regular file */
- APR_DIR, /**< a directory */
- APR_CHR, /**< a character device */
- APR_BLK, /**< a block device */
- APR_PIPE, /**< a FIFO / pipe */
- APR_LNK, /**< a symbolic link */
- APR_SOCK, /**< a [unix domain] socket */
- APR_UNKFILE = 127 /**< a file of some other unknown type */
-} apr_filetype_e;
-
-/**
- * @defgroup apr_file_permissions File Permissions flags
- * @{
- */
-
-#define APR_USETID 0x8000 /**< Set user id */
-#define APR_UREAD 0x0400 /**< Read by user */
-#define APR_UWRITE 0x0200 /**< Write by user */
-#define APR_UEXECUTE 0x0100 /**< Execute by user */
-
-#define APR_GSETID 0x4000 /**< Set group id */
-#define APR_GREAD 0x0040 /**< Read by group */
-#define APR_GWRITE 0x0020 /**< Write by group */
-#define APR_GEXECUTE 0x0010 /**< Execute by group */
-
-#define APR_WSTICKY 0x2000 /**< Sticky bit */
-#define APR_WREAD 0x0004 /**< Read by others */
-#define APR_WWRITE 0x0002 /**< Write by others */
-#define APR_WEXECUTE 0x0001 /**< Execute by others */
-
-#define APR_OS_DEFAULT 0x0FFF /**< use OS's default permissions */
-
-/* additional permission flags for apr_file_copy and apr_file_append */
-#define APR_FILE_SOURCE_PERMS 0x1000 /**< Copy source file's permissions */
-
-/** @} */
-
-
-/**
- * Structure for referencing directories.
- */
-typedef struct apr_dir_t apr_dir_t;
-/**
- * Structure for determining file permissions.
- */
-typedef apr_int32_t apr_fileperms_t;
-#if (defined WIN32) || (defined NETWARE)
-/**
- * Structure for determining the device the file is on.
- */
-typedef apr_uint32_t apr_dev_t;
-#else
-/**
- * Structure for determining the device the file is on.
- */
-typedef dev_t apr_dev_t;
-#endif
-
-/**
- * @defgroup apr_file_stat Stat Functions
- * @{
- */
-/** file info structure */
-typedef struct apr_finfo_t apr_finfo_t;
-
-#define APR_FINFO_LINK 0x00000001 /**< Stat the link not the file itself if it is a link */
-#define APR_FINFO_MTIME 0x00000010 /**< Modification Time */
-#define APR_FINFO_CTIME 0x00000020 /**< Creation Time */
-#define APR_FINFO_ATIME 0x00000040 /**< Access Time */
-#define APR_FINFO_SIZE 0x00000100 /**< Size of the file */
-#define APR_FINFO_CSIZE 0x00000200 /**< Storage size consumed by the file */
-#define APR_FINFO_DEV 0x00001000 /**< Device */
-#define APR_FINFO_INODE 0x00002000 /**< Inode */
-#define APR_FINFO_NLINK 0x00004000 /**< Number of links */
-#define APR_FINFO_TYPE 0x00008000 /**< Type */
-#define APR_FINFO_USER 0x00010000 /**< User */
-#define APR_FINFO_GROUP 0x00020000 /**< Group */
-#define APR_FINFO_UPROT 0x00100000 /**< User protection bits */
-#define APR_FINFO_GPROT 0x00200000 /**< Group protection bits */
-#define APR_FINFO_WPROT 0x00400000 /**< World protection bits */
-#define APR_FINFO_ICASE 0x01000000 /**< if dev is case insensitive */
-#define APR_FINFO_NAME 0x02000000 /**< ->name in proper case */
-
-#define APR_FINFO_MIN 0x00008170 /**< type, mtime, ctime, atime, size */
-#define APR_FINFO_IDENT 0x00003000 /**< dev and inode */
-#define APR_FINFO_OWNER 0x00030000 /**< user and group */
-#define APR_FINFO_PROT 0x00700000 /**< all protections */
-#define APR_FINFO_NORM 0x0073b170 /**< an atomic unix apr_stat() */
-#define APR_FINFO_DIRENT 0x02000000 /**< an atomic unix apr_dir_read() */
-
-/**
- * The file information structure. This is analogous to the POSIX
- * stat structure.
- */
-struct apr_finfo_t {
- /** Allocates memory and closes lingering handles in the specified pool */
- apr_pool_t *pool;
- /** The bitmask describing valid fields of this apr_finfo_t structure
- * including all available 'wanted' fields and potentially more */
- apr_int32_t valid;
- /** The access permissions of the file. Mimics Unix access rights. */
- apr_fileperms_t protection;
- /** The type of file. One of APR_REG, APR_DIR, APR_CHR, APR_BLK, APR_PIPE,
- * APR_LNK or APR_SOCK. If the type is undetermined, the value is APR_NOFILE.
- * If the type cannot be determined, the value is APR_UNKFILE.
- */
- apr_filetype_e filetype;
- /** The user id that owns the file */
- apr_uid_t user;
- /** The group id that owns the file */
- apr_gid_t group;
- /** The inode of the file. */
- apr_ino_t inode;
- /** The id of the device the file is on. */
- apr_dev_t device;
- /** The number of hard links to the file. */
- apr_int32_t nlink;
- /** The size of the file */
- apr_off_t size;
- /** The storage size consumed by the file */
- apr_off_t csize;
- /** The time the file was last accessed */
- apr_time_t atime;
- /** The time the file was last modified */
- apr_time_t mtime;
- /** The time the file was last changed */
- apr_time_t ctime;
- /** The pathname of the file (possibly unrooted) */
- const char *fname;
- /** The file's name (no path) in filesystem case */
- const char *name;
- /** The file's handle, if accessed (can be submitted to apr_duphandle) */
- struct apr_file_t *filehand;
-};
-
-/**
- * get the specified file's stats. The file is specified by filename,
- * instead of using a pre-opened file.
- * @param finfo Where to store the information about the file, which is
- * never touched if the call fails.
- * @param fname The name of the file to stat.
- * @param wanted The desired apr_finfo_t fields, as a bit flag of APR_FINFO_
- values
- * @param cont the pool to use to allocate the new file.
- *
- * @note If @c APR_INCOMPLETE is returned all the fields in @a finfo may
- * not be filled in, and you need to check the @c finfo->valid bitmask
- * to verify that what you're looking for is there.
- */
-APR_DECLARE(apr_status_t) apr_stat(apr_finfo_t *finfo, const char *fname,
- apr_int32_t wanted, apr_pool_t *cont);
-
-/**
- * get the specified file's stats. The file is specified by filename,
- * instead of using a pre-opened file. If the file is a symlink, this function
- * will get the stats for the symlink not the file the symlink refers to.
- * @param finfo Where to store the information about the file, which is
- * never touched if the call fails.
- * @param fname The name of the file to stat.
- * @param wanted The desired apr_finfo_t fields, as a bit flag of APR_FINFO_ values
- * @param cont the pool to use to allocate the new file.
- * @deprecated This function is deprecated, it's equivalent to calling apr_stat with
- * the wanted flag value APR_FINFO_LINK
- */
-APR_DECLARE(apr_status_t) apr_lstat(apr_finfo_t *finfo, const char *fname,
- apr_int32_t wanted, apr_pool_t *cont);
-/** @} */
-/**
- * @defgroup apr_dir Directory Manipulation Functions
- * @{
- */
-
-/**
- * Open the specified directory.
- * @param new_dir The opened directory descriptor.
- * @param dirname The full path to the directory (use / on all systems)
- * @param cont The pool to use.
- */
-APR_DECLARE(apr_status_t) apr_dir_open(apr_dir_t **new_dir,
- const char *dirname,
- apr_pool_t *cont);
-
-/**
- * close the specified directory.
- * @param thedir the directory descriptor to close.
- */
-APR_DECLARE(apr_status_t) apr_dir_close(apr_dir_t *thedir);
-
-/**
- * Read the next entry from the specified directory.
- * @param finfo the file info structure and filled in by apr_dir_read
- * @param wanted The desired apr_finfo_t fields, as a bit flag of APR_FINFO_
- values
- * @param thedir the directory descriptor returned from apr_dir_open
- * @remark No ordering is guaranteed for the entries read.
- *
- * @note If @c APR_INCOMPLETE is returned all the fields in @a finfo may
- * not be filled in, and you need to check the @c finfo->valid bitmask
- * to verify that what you're looking for is there.
- */
-APR_DECLARE(apr_status_t) apr_dir_read(apr_finfo_t *finfo, apr_int32_t wanted,
- apr_dir_t *thedir);
-
-/**
- * Rewind the directory to the first entry.
- * @param thedir the directory descriptor to rewind.
- */
-APR_DECLARE(apr_status_t) apr_dir_rewind(apr_dir_t *thedir);
-/** @} */
-
-/**
- * @defgroup apr_filepath Filepath Manipulation Functions
- * @{
- */
-
-/** Cause apr_filepath_merge to fail if addpath is above rootpath */
-#define APR_FILEPATH_NOTABOVEROOT 0x01
-
-/** internal: Only meaningful with APR_FILEPATH_NOTABOVEROOT */
-#define APR_FILEPATH_SECUREROOTTEST 0x02
-
-/** Cause apr_filepath_merge to fail if addpath is above rootpath,
- * even given a rootpath /foo/bar and an addpath ../bar/bash
- */
-#define APR_FILEPATH_SECUREROOT 0x03
-
-/** Fail apr_filepath_merge if the merged path is relative */
-#define APR_FILEPATH_NOTRELATIVE 0x04
-
-/** Fail apr_filepath_merge if the merged path is absolute */
-#define APR_FILEPATH_NOTABSOLUTE 0x08
-
-/** Return the file system's native path format (e.g. path delimiters
- * of ':' on MacOS9, '\' on Win32, etc.) */
-#define APR_FILEPATH_NATIVE 0x10
-
-/** Resolve the true case of existing directories and file elements
- * of addpath, (resolving any aliases on Win32) and append a proper
- * trailing slash if a directory
- */
-#define APR_FILEPATH_TRUENAME 0x20
-
-/**
- * Extract the rootpath from the given filepath
- * @param rootpath the root file path returned with APR_SUCCESS or APR_EINCOMPLETE
- * @param filepath the pathname to parse for its root component
- * @param flags the desired rules to apply, from
- * <PRE>
- * APR_FILEPATH_NATIVE Use native path seperators (e.g. '\' on Win32)
- * APR_FILEPATH_TRUENAME Tests that the root exists, and makes it proper
- * </PRE>
- * @param p the pool to allocate the new path string from
- * @remark on return, filepath points to the first non-root character in the
- * given filepath. In the simplest example, given a filepath of "/foo",
- * returns the rootpath of "/" and filepath points at "foo". This is far
- * more complex on other platforms, which will canonicalize the root form
- * to a consistant format, given the APR_FILEPATH_TRUENAME flag, and also
- * test for the validity of that root (e.g., that a drive d:/ or network
- * share //machine/foovol/).
- * The function returns APR_ERELATIVE if filepath isn't rooted (an
- * error), APR_EINCOMPLETE if the root path is ambigious (but potentially
- * legitimate, e.g. "/" on Windows is incomplete because it doesn't specify
- * the drive letter), or APR_EBADPATH if the root is simply invalid.
- * APR_SUCCESS is returned if filepath is an absolute path.
- */
-APR_DECLARE(apr_status_t) apr_filepath_root(const char **rootpath,
- const char **filepath,
- apr_int32_t flags,
- apr_pool_t *p);
-
-/**
- * Merge additional file path onto the previously processed rootpath
- * @param newpath the merged paths returned
- * @param rootpath the root file path (NULL uses the current working path)
- * @param addpath the path to add to the root path
- * @param flags the desired APR_FILEPATH_ rules to apply when merging
- * @param p the pool to allocate the new path string from
- * @remark if the flag APR_FILEPATH_TRUENAME is given, and the addpath
- * contains wildcard characters ('*', '?') on platforms that don't support
- * such characters within filenames, the paths will be merged, but the
- * result code will be APR_EPATHWILD, and all further segments will not
- * reflect the true filenames including the wildcard and following segments.
- */
-APR_DECLARE(apr_status_t) apr_filepath_merge(char **newpath,
- const char *rootpath,
- const char *addpath,
- apr_int32_t flags,
- apr_pool_t *p);
-
-/**
- * Split a search path into separate components
- * @param pathelts the returned components of the search path
- * @param liststr the search path (e.g., <tt>getenv("PATH")</tt>)
- * @param p the pool to allocate the array and path components from
- * @remark empty path componenta do not become part of @a pathelts.
- * @remark the path separator in @a liststr is system specific;
- * e.g., ':' on Unix, ';' on Windows, etc.
- */
-APR_DECLARE(apr_status_t) apr_filepath_list_split(apr_array_header_t **pathelts,
- const char *liststr,
- apr_pool_t *p);
-
-/**
- * Merge a list of search path components into a single search path
- * @param liststr the returned search path; may be NULL if @a pathelts is empty
- * @param pathelts the components of the search path
- * @param p the pool to allocate the search path from
- * @remark emtpy strings in the source array are ignored.
- * @remark the path separator in @a liststr is system specific;
- * e.g., ':' on Unix, ';' on Windows, etc.
- */
-APR_DECLARE(apr_status_t) apr_filepath_list_merge(char **liststr,
- apr_array_header_t *pathelts,
- apr_pool_t *p);
-
-/**
- * Return the default file path (for relative file names)
- * @param path the default path string returned
- * @param flags optional flag APR_FILEPATH_NATIVE to retrieve the
- * default file path in os-native format.
- * @param p the pool to allocate the default path string from
- */
-APR_DECLARE(apr_status_t) apr_filepath_get(char **path, apr_int32_t flags,
- apr_pool_t *p);
-
-/**
- * Set the default file path (for relative file names)
- * @param path the default path returned
- * @param p the pool to allocate any working storage
- */
-APR_DECLARE(apr_status_t) apr_filepath_set(const char *path, apr_pool_t *p);
-
-/** The FilePath character encoding is unknown */
-#define APR_FILEPATH_ENCODING_UNKNOWN 0
-
-/** The FilePath character encoding is locale-dependent */
-#define APR_FILEPATH_ENCODING_LOCALE 1
-
-/** The FilePath character encoding is UTF-8 */
-#define APR_FILEPATH_ENCODING_UTF8 2
-
-/**
- * Determine the encoding used internally by the FilePath functions
- * @param style points to a variable which receives the encoding style flag
- * @param p the pool to allocate any working storage
- * @remark Use @c apr_os_locale_encoding and/or @c apr_os_default_encoding
- * to get the name of the path encoding if it's not UTF-8.
- */
-APR_DECLARE(apr_status_t) apr_filepath_encoding(int *style, apr_pool_t *p);
-/** @} */
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ! APR_FILE_INFO_H */
diff --git a/rubbos/app/apache2/include/apr_file_io.h b/rubbos/app/apache2/include/apr_file_io.h
deleted file mode 100644
index bfa7a1bf..00000000
--- a/rubbos/app/apache2/include/apr_file_io.h
+++ /dev/null
@@ -1,766 +0,0 @@
-/* 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 APR_FILE_IO_H
-#define APR_FILE_IO_H
-
-/**
- * @file apr_file_io.h
- * @brief APR File I/O Handling
- */
-
-#include "apr.h"
-#include "apr_pools.h"
-#include "apr_time.h"
-#include "apr_errno.h"
-#include "apr_file_info.h"
-#include "apr_inherit.h"
-
-#define APR_WANT_STDIO /**< for SEEK_* */
-#define APR_WANT_IOVEC /**< for apr_file_writev */
-#include "apr_want.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @defgroup apr_file_io File I/O Handling Functions
- * @ingroup APR
- * @{
- */
-
-/**
- * @defgroup apr_file_open_flags File Open Flags/Routines
- * @{
- */
-
-/* Note to implementors: Values in the range 0x00100000--0x80000000
- are reserved for platform-specific values. */
-
-#define APR_READ 0x00001 /**< Open the file for reading */
-#define APR_WRITE 0x00002 /**< Open the file for writing */
-#define APR_CREATE 0x00004 /**< Create the file if not there */
-#define APR_APPEND 0x00008 /**< Append to the end of the file */
-#define APR_TRUNCATE 0x00010 /**< Open the file and truncate to 0 length */
-#define APR_BINARY 0x00020 /**< Open the file in binary mode */
-#define APR_EXCL 0x00040 /**< Open should fail if APR_CREATE and file
- exists. */
-#define APR_BUFFERED 0x00080 /**< Open the file for buffered I/O */
-#define APR_DELONCLOSE 0x00100 /**< Delete the file after close */
-#define APR_XTHREAD 0x00200 /**< Platform dependent tag to open the file
- for use across multiple threads */
-#define APR_SHARELOCK 0x00400 /**< Platform dependent support for higher
- level locked read/write access to support
- writes across process/machines */
-#define APR_FILE_NOCLEANUP 0x00800 /**< Do not register a cleanup when the file
- is opened */
-#define APR_SENDFILE_ENABLED 0x01000 /**< Advisory flag that this file should
- support apr_sendfile operation */
-#define APR_LARGEFILE 0x04000 /**< Platform dependent flag to enable large file
- support; WARNING see below. */
-
-/** @warning The APR_LARGEFILE flag only has effect on some platforms
- * where sizeof(apr_off_t) == 4. Where implemented, it allows opening
- * and writing to a file which exceeds the size which can be
- * represented by apr_off_t (2 gigabytes). When a file's size does
- * exceed 2Gb, apr_file_info_get() will fail with an error on the
- * descriptor, likewise apr_stat()/apr_lstat() will fail on the
- * filename. apr_dir_read() will fail with APR_INCOMPLETE on a
- * directory entry for a large file depending on the particular
- * APR_FINFO_* flags. Generally, it is not recommended to use this
- * flag. */
-
-/** @} */
-
-/**
- * @defgroup apr_file_seek_flags File Seek Flags
- * @{
- */
-
-/* flags for apr_file_seek */
-/** Set the file position */
-#define APR_SET SEEK_SET
-/** Current */
-#define APR_CUR SEEK_CUR
-/** Go to end of file */
-#define APR_END SEEK_END
-/** @} */
-
-/**
- * @defgroup apr_file_attrs_set_flags File Attribute Flags
- * @{
- */
-
-/* flags for apr_file_attrs_set */
-#define APR_FILE_ATTR_READONLY 0x01 /**< File is read-only */
-#define APR_FILE_ATTR_EXECUTABLE 0x02 /**< File is executable */
-#define APR_FILE_ATTR_HIDDEN 0x04 /**< File is hidden */
-/** @} */
-
-/** File attributes */
-typedef apr_uint32_t apr_fileattrs_t;
-
-/** should be same as whence type in lseek, POSIX defines this as int */
-typedef int apr_seek_where_t;
-
-/**
- * Structure for referencing files.
- */
-typedef struct apr_file_t apr_file_t;
-
-/* File lock types/flags */
-/**
- * @defgroup apr_file_lock_types File Lock Types
- * @{
- */
-
-#define APR_FLOCK_SHARED 1 /**< Shared lock. More than one process
- or thread can hold a shared lock
- at any given time. Essentially,
- this is a "read lock", preventing
- writers from establishing an
- exclusive lock. */
-#define APR_FLOCK_EXCLUSIVE 2 /**< Exclusive lock. Only one process
- may hold an exclusive lock at any
- given time. This is analogous to
- a "write lock". */
-
-#define APR_FLOCK_TYPEMASK 0x000F /**< mask to extract lock type */
-#define APR_FLOCK_NONBLOCK 0x0010 /**< do not block while acquiring the
- file lock */
-/** @} */
-
-/**
- * Open the specified file.
- * @param newf The opened file descriptor.
- * @param fname The full path to the file (using / on all systems)
- * @param flag Or'ed value of:
- * <PRE>
- * APR_READ open for reading
- * APR_WRITE open for writing
- * APR_CREATE create the file if not there
- * APR_APPEND file ptr is set to end prior to all writes
- * APR_TRUNCATE set length to zero if file exists
- * APR_BINARY not a text file (This flag is ignored on
- * UNIX because it has no meaning)
- * APR_BUFFERED buffer the data. Default is non-buffered
- * APR_EXCL return error if APR_CREATE and file exists
- * APR_DELONCLOSE delete the file after closing.
- * APR_XTHREAD Platform dependent tag to open the file
- * for use across multiple threads
- * APR_SHARELOCK Platform dependent support for higher
- * level locked read/write access to support
- * writes across process/machines
- * APR_FILE_NOCLEANUP Do not register a cleanup with the pool
- * passed in on the <EM>cont</EM> argument (see below).
- * The apr_os_file_t handle in apr_file_t will not
- * be closed when the pool is destroyed.
- * APR_SENDFILE_ENABLED Open with appropriate platform semantics
- * for sendfile operations. Advisory only,
- * apr_sendfile does not check this flag.
- * </PRE>
- * @param perm Access permissions for file.
- * @param pool The pool to use.
- * @remark If perm is APR_OS_DEFAULT and the file is being created, appropriate
- * default permissions will be used. *arg1 must point to a valid file_t,
- * or NULL (in which case it will be allocated)
- */
-APR_DECLARE(apr_status_t) apr_file_open(apr_file_t **newf, const char *fname,
- apr_int32_t flag, apr_fileperms_t perm,
- apr_pool_t *pool);
-
-/**
- * Close the specified file.
- * @param file The file descriptor to close.
- */
-APR_DECLARE(apr_status_t) apr_file_close(apr_file_t *file);
-
-/**
- * delete the specified file.
- * @param path The full path to the file (using / on all systems)
- * @param cont The pool to use.
- * @remark If the file is open, it won't be removed until all instances are closed.
- */
-APR_DECLARE(apr_status_t) apr_file_remove(const char *path, apr_pool_t *cont);
-
-/**
- * rename the specified file.
- * @param from_path The full path to the original file (using / on all systems)
- * @param to_path The full path to the new file (using / on all systems)
- * @param pool The pool to use.
- * @warning If a file exists at the new location, then it will be overwritten.
- * Moving files or directories across devices may not be possible.
- */
-APR_DECLARE(apr_status_t) apr_file_rename(const char *from_path,
- const char *to_path,
- apr_pool_t *pool);
-
-/**
- * copy the specified file to another file.
- * @param from_path The full path to the original file (using / on all systems)
- * @param to_path The full path to the new file (using / on all systems)
- * @param perms Access permissions for the new file if it is created.
- * In place of the usual or'd combination of file permissions, the
- * value APR_FILE_SOURCE_PERMS may be given, in which case the source
- * file's permissions are copied.
- * @param pool The pool to use.
- * @remark The new file does not need to exist, it will be created if required.
- * @warning If the new file already exists, its contents will be overwritten.
- */
-APR_DECLARE(apr_status_t) apr_file_copy(const char *from_path,
- const char *to_path,
- apr_fileperms_t perms,
- apr_pool_t *pool);
-
-/**
- * append the specified file to another file.
- * @param from_path The full path to the source file (using / on all systems)
- * @param to_path The full path to the destination file (using / on all systems)
- * @param perms Access permissions for the destination file if it is created.
- * In place of the usual or'd combination of file permissions, the
- * value APR_FILE_SOURCE_PERMS may be given, in which case the source
- * file's permissions are copied.
- * @param pool The pool to use.
- * @remark The new file does not need to exist, it will be created if required.
- */
-APR_DECLARE(apr_status_t) apr_file_append(const char *from_path,
- const char *to_path,
- apr_fileperms_t perms,
- apr_pool_t *pool);
-
-/**
- * Are we at the end of the file
- * @param fptr The apr file we are testing.
- * @remark Returns APR_EOF if we are at the end of file, APR_SUCCESS otherwise.
- */
-APR_DECLARE(apr_status_t) apr_file_eof(apr_file_t *fptr);
-
-/**
- * open standard error as an apr file pointer.
- * @param thefile The apr file to use as stderr.
- * @param cont The pool to allocate the file out of.
- *
- * @remark The only reason that the apr_file_open_std* functions exist
- * is that you may not always have a stderr/out/in on Windows. This
- * is generally a problem with newer versions of Windows and services.
- *
- * The other problem is that the C library functions generally work
- * differently on Windows and Unix. So, by using apr_file_open_std*
- * functions, you can get a handle to an APR struct that works with
- * the APR functions which are supposed to work identically on all
- * platforms.
- */
-APR_DECLARE(apr_status_t) apr_file_open_stderr(apr_file_t **thefile,
- apr_pool_t *cont);
-
-/**
- * open standard output as an apr file pointer.
- * @param thefile The apr file to use as stdout.
- * @param cont The pool to allocate the file out of.
- *
- * @remark The only reason that the apr_file_open_std* functions exist
- * is that you may not always have a stderr/out/in on Windows. This
- * is generally a problem with newer versions of Windows and services.
- *
- * The other problem is that the C library functions generally work
- * differently on Windows and Unix. So, by using apr_file_open_std*
- * functions, you can get a handle to an APR struct that works with
- * the APR functions which are supposed to work identically on all
- * platforms.
- */
-APR_DECLARE(apr_status_t) apr_file_open_stdout(apr_file_t **thefile,
- apr_pool_t *cont);
-
-/**
- * open standard input as an apr file pointer.
- * @param thefile The apr file to use as stdin.
- * @param cont The pool to allocate the file out of.
- *
- * @remark The only reason that the apr_file_open_std* functions exist
- * is that you may not always have a stderr/out/in on Windows. This
- * is generally a problem with newer versions of Windows and services.
- *
- * The other problem is that the C library functions generally work
- * differently on Windows and Unix. So, by using apr_file_open_std*
- * functions, you can get a handle to an APR struct that works with
- * the APR functions which are supposed to work identically on all
- * platforms.
- */
-APR_DECLARE(apr_status_t) apr_file_open_stdin(apr_file_t **thefile,
- apr_pool_t *cont);
-
-/**
- * Read data from the specified file.
- * @param thefile The file descriptor to read from.
- * @param buf The buffer to store the data to.
- * @param nbytes On entry, the number of bytes to read; on exit, the number of bytes read.
- * @remark apr_file_read will read up to the specified number of bytes, but
- * never more. If there isn't enough data to fill that number of
- * bytes, all of the available data is read. The third argument is
- * modified to reflect the number of bytes read. If a char was put
- * back into the stream via ungetc, it will be the first character
- * returned.
- *
- * It is not possible for both bytes to be read and an APR_EOF or other
- * error to be returned.
- *
- * APR_EINTR is never returned.
- */
-APR_DECLARE(apr_status_t) apr_file_read(apr_file_t *thefile, void *buf,
- apr_size_t *nbytes);
-
-/**
- * Write data to the specified file.
- * @param thefile The file descriptor to write to.
- * @param buf The buffer which contains the data.
- * @param nbytes On entry, the number of bytes to write; on exit, the number
- * of bytes written.
- * @remark apr_file_write will write up to the specified number of bytes, but never
- * more. If the OS cannot write that many bytes, it will write as many
- * as it can. The third argument is modified to reflect the * number
- * of bytes written.
- *
- * It is possible for both bytes to be written and an error to be returned.
- *
- * APR_EINTR is never returned.
- */
-APR_DECLARE(apr_status_t) apr_file_write(apr_file_t *thefile, const void *buf,
- apr_size_t *nbytes);
-
-/**
- * Write data from iovec array to the specified file.
- * @param thefile The file descriptor to write to.
- * @param vec The array from which to get the data to write to the file.
- * @param nvec The number of elements in the struct iovec array. This must
- * be smaller than APR_MAX_IOVEC_SIZE. If it isn't, the function
- * will fail with APR_EINVAL.
- * @param nbytes The number of bytes written.
- * @remark It is possible for both bytes to be written and an error to be returned.
- * APR_EINTR is never returned.
- *
- * apr_file_writev is available even if the underlying operating system
- *
- * doesn't provide writev().
- */
-APR_DECLARE(apr_status_t) apr_file_writev(apr_file_t *thefile,
- const struct iovec *vec,
- apr_size_t nvec, apr_size_t *nbytes);
-
-/**
- * Read data from the specified file, ensuring that the buffer is filled
- * before returning.
- * @param thefile The file descriptor to read from.
- * @param buf The buffer to store the data to.
- * @param nbytes The number of bytes to read.
- * @param bytes_read If non-NULL, this will contain the number of bytes read.
- * @remark apr_file_read will read up to the specified number of bytes, but never
- * more. If there isn't enough data to fill that number of bytes,
- * then the process/thread will block until it is available or EOF
- * is reached. If a char was put back into the stream via ungetc,
- * it will be the first character returned.
- *
- * It is possible for both bytes to be read and an error to be
- * returned. And if *bytes_read is less than nbytes, an
- * accompanying error is _always_ returned.
- *
- * APR_EINTR is never returned.
- */
-APR_DECLARE(apr_status_t) apr_file_read_full(apr_file_t *thefile, void *buf,
- apr_size_t nbytes,
- apr_size_t *bytes_read);
-
-/**
- * Write data to the specified file, ensuring that all of the data is
- * written before returning.
- * @param thefile The file descriptor to write to.
- * @param buf The buffer which contains the data.
- * @param nbytes The number of bytes to write.
- * @param bytes_written If non-NULL, this will contain the number of bytes written.
- * @remark apr_file_write will write up to the specified number of bytes, but never
- * more. If the OS cannot write that many bytes, the process/thread
- * will block until they can be written. Exceptional error such as
- * "out of space" or "pipe closed" will terminate with an error.
- *
- * It is possible for both bytes to be written and an error to be
- * returned. And if *bytes_written is less than nbytes, an
- * accompanying error is _always_ returned.
- *
- * APR_EINTR is never returned.
- */
-APR_DECLARE(apr_status_t) apr_file_write_full(apr_file_t *thefile, const void *buf,
- apr_size_t nbytes,
- apr_size_t *bytes_written);
-
-/**
- * put a character into the specified file.
- * @param ch The character to write.
- * @param thefile The file descriptor to write to
- */
-APR_DECLARE(apr_status_t) apr_file_putc(char ch, apr_file_t *thefile);
-
-/**
- * get a character from the specified file.
- * @param ch The character to read into
- * @param thefile The file descriptor to read from
- */
-APR_DECLARE(apr_status_t) apr_file_getc(char *ch, apr_file_t *thefile);
-
-/**
- * put a character back onto a specified stream.
- * @param ch The character to write.
- * @param thefile The file descriptor to write to
- */
-APR_DECLARE(apr_status_t) apr_file_ungetc(char ch, apr_file_t *thefile);
-
-/**
- * Get a string from a specified file.
- * @param str The buffer to store the string in.
- * @param len The length of the string
- * @param thefile The file descriptor to read from
- * @remark The buffer will be '\0'-terminated if any characters are stored.
- */
-APR_DECLARE(apr_status_t) apr_file_gets(char *str, int len, apr_file_t *thefile);
-
-/**
- * Put the string into a specified file.
- * @param str The string to write.
- * @param thefile The file descriptor to write to
- */
-APR_DECLARE(apr_status_t) apr_file_puts(const char *str, apr_file_t *thefile);
-
-/**
- * Flush the file's buffer.
- * @param thefile The file descriptor to flush
- */
-APR_DECLARE(apr_status_t) apr_file_flush(apr_file_t *thefile);
-
-/**
- * duplicate the specified file descriptor.
- * @param new_file The structure to duplicate into.
- * @param old_file The file to duplicate.
- * @param p The pool to use for the new file.
- * @remark *new_file must point to a valid apr_file_t, or point to NULL
- */
-APR_DECLARE(apr_status_t) apr_file_dup(apr_file_t **new_file,
- apr_file_t *old_file,
- apr_pool_t *p);
-
-/**
- * duplicate the specified file descriptor and close the original
- * @param new_file The old file that is to be closed and reused
- * @param old_file The file to duplicate
- * @param p The pool to use for the new file
- *
- * @remark new_file MUST point at a valid apr_file_t. It cannot be NULL
- */
-APR_DECLARE(apr_status_t) apr_file_dup2(apr_file_t *new_file,
- apr_file_t *old_file,
- apr_pool_t *p);
-
-/**
- * move the specified file descriptor to a new pool
- * @param new_file Pointer in which to return the new apr_file_t
- * @param old_file The file to move
- * @param p The pool to which the descriptor is to be moved
- * @remark Unlike apr_file_dup2(), this function doesn't do an
- * OS dup() operation on the underlying descriptor; it just
- * moves the descriptor's apr_file_t wrapper to a new pool.
- * @remark The new pool need not be an ancestor of old_file's pool.
- * @remark After calling this function, old_file may not be used
- */
-APR_DECLARE(apr_status_t) apr_file_setaside(apr_file_t **new_file,
- apr_file_t *old_file,
- apr_pool_t *p);
-
-/**
- * Move the read/write file offset to a specified byte within a file.
- * @param thefile The file descriptor
- * @param where How to move the pointer, one of:
- * <PRE>
- * APR_SET -- set the offset to offset
- * APR_CUR -- add the offset to the current position
- * APR_END -- add the offset to the current file size
- * </PRE>
- * @param offset The offset to move the pointer to.
- * @remark The third argument is modified to be the offset the pointer
- was actually moved to.
- */
-APR_DECLARE(apr_status_t) apr_file_seek(apr_file_t *thefile,
- apr_seek_where_t where,
- apr_off_t *offset);
-
-/**
- * Create an anonymous pipe.
- * @param in The file descriptor to use as input to the pipe.
- * @param out The file descriptor to use as output from the pipe.
- * @param cont The pool to operate on.
- */
-APR_DECLARE(apr_status_t) apr_file_pipe_create(apr_file_t **in, apr_file_t **out,
- apr_pool_t *cont);
-
-/**
- * Create a named pipe.
- * @param filename The filename of the named pipe
- * @param perm The permissions for the newly created pipe.
- * @param cont The pool to operate on.
- */
-APR_DECLARE(apr_status_t) apr_file_namedpipe_create(const char *filename,
- apr_fileperms_t perm,
- apr_pool_t *cont);
-
-/**
- * Get the timeout value for a pipe or manipulate the blocking state.
- * @param thepipe The pipe we are getting a timeout for.
- * @param timeout The current timeout value in microseconds.
- */
-APR_DECLARE(apr_status_t) apr_file_pipe_timeout_get(apr_file_t *thepipe,
- apr_interval_time_t *timeout);
-
-/**
- * Set the timeout value for a pipe or manipulate the blocking state.
- * @param thepipe The pipe we are setting a timeout on.
- * @param timeout The timeout value in microseconds. Values < 0 mean wait
- * forever, 0 means do not wait at all.
- */
-APR_DECLARE(apr_status_t) apr_file_pipe_timeout_set(apr_file_t *thepipe,
- apr_interval_time_t timeout);
-
-/** file (un)locking functions. */
-
-/**
- * Establish a lock on the specified, open file. The lock may be advisory
- * or mandatory, at the discretion of the platform. The lock applies to
- * the file as a whole, rather than a specific range. Locks are established
- * on a per-thread/process basis; a second lock by the same thread will not
- * block.
- * @param thefile The file to lock.
- * @param type The type of lock to establish on the file.
- */
-APR_DECLARE(apr_status_t) apr_file_lock(apr_file_t *thefile, int type);
-
-/**
- * Remove any outstanding locks on the file.
- * @param thefile The file to unlock.
- */
-APR_DECLARE(apr_status_t) apr_file_unlock(apr_file_t *thefile);
-
-/**accessor and general file_io functions. */
-
-/**
- * return the file name of the current file.
- * @param new_path The path of the file.
- * @param thefile The currently open file.
- */
-APR_DECLARE(apr_status_t) apr_file_name_get(const char **new_path,
- apr_file_t *thefile);
-
-/**
- * Return the data associated with the current file.
- * @param data The user data associated with the file.
- * @param key The key to use for retreiving data associated with this file.
- * @param file The currently open file.
- */
-APR_DECLARE(apr_status_t) apr_file_data_get(void **data, const char *key,
- apr_file_t *file);
-
-/**
- * Set the data associated with the current file.
- * @param file The currently open file.
- * @param data The user data to associate with the file.
- * @param key The key to use for assocaiteing data with the file.
- * @param cleanup The cleanup routine to use when the file is destroyed.
- */
-APR_DECLARE(apr_status_t) apr_file_data_set(apr_file_t *file, void *data,
- const char *key,
- apr_status_t (*cleanup)(void *));
-
-/**
- * Write a string to a file using a printf format.
- * @param fptr The file to write to.
- * @param format The format string
- * @param ... The values to substitute in the format string
- * @return The number of bytes written
- */
-APR_DECLARE_NONSTD(int) apr_file_printf(apr_file_t *fptr,
- const char *format, ...)
- __attribute__((format(printf,2,3)));
-
-/**
- * set the specified file's permission bits.
- * @param fname The file (name) to apply the permissions to.
- * @param perms The permission bits to apply to the file.
- * @warning Some platforms may not be able to apply all of the available
- * permission bits; APR_INCOMPLETE will be returned if some permissions
- * are specified which could not be set.
- *
- * Platforms which do not implement this feature will return APR_ENOTIMPL.
- */
-APR_DECLARE(apr_status_t) apr_file_perms_set(const char *fname,
- apr_fileperms_t perms);
-
-/**
- * Set attributes of the specified file.
- * @param fname The full path to the file (using / on all systems)
- * @param attributes Or'd combination of
- * <PRE>
- * APR_FILE_ATTR_READONLY - make the file readonly
- * APR_FILE_ATTR_EXECUTABLE - make the file executable
- * APR_FILE_ATTR_HIDDEN - make the file hidden
- * </PRE>
- * @param attr_mask Mask of valid bits in attributes.
- * @param cont the pool to use.
- * @remark This function should be used in preference to explict manipulation
- * of the file permissions, because the operations to provide these
- * attributes are platform specific and may involve more than simply
- * setting permission bits.
- * @warning Platforms which do not implement this feature will return
- * APR_ENOTIMPL.
- */
-APR_DECLARE(apr_status_t) apr_file_attrs_set(const char *fname,
- apr_fileattrs_t attributes,
- apr_fileattrs_t attr_mask,
- apr_pool_t *cont);
-
-/**
- * Set the mtime of the specified file.
- * @param fname The full path to the file (using / on all systems)
- * @param mtime The mtime to apply to the file.
- * @param pool The pool to use.
- * @warning Platforms which do not implement this feature will return
- * APR_ENOTIMPL.
- */
-APR_DECLARE(apr_status_t) apr_file_mtime_set(const char *fname,
- apr_time_t mtime,
- apr_pool_t *pool);
-
-/**
- * Create a new directory on the file system.
- * @param path the path for the directory to be created. (use / on all systems)
- * @param perm Permissions for the new direcoty.
- * @param cont the pool to use.
- */
-APR_DECLARE(apr_status_t) apr_dir_make(const char *path, apr_fileperms_t perm,
- apr_pool_t *cont);
-
-/** Creates a new directory on the file system, but behaves like
- * 'mkdir -p'. Creates intermediate directories as required. No error
- * will be reported if PATH already exists.
- * @param path the path for the directory to be created. (use / on all systems)
- * @param perm Permissions for the new direcoty.
- * @param pool the pool to use.
- */
-APR_DECLARE(apr_status_t) apr_dir_make_recursive(const char *path,
- apr_fileperms_t perm,
- apr_pool_t *pool);
-
-/**
- * Remove directory from the file system.
- * @param path the path for the directory to be removed. (use / on all systems)
- * @param cont the pool to use.
- */
-APR_DECLARE(apr_status_t) apr_dir_remove(const char *path, apr_pool_t *cont);
-
-/**
- * get the specified file's stats.
- * @param finfo Where to store the information about the file.
- * @param wanted The desired apr_finfo_t fields, as a bit flag of APR_FINFO_ values
- * @param thefile The file to get information about.
- */
-APR_DECLARE(apr_status_t) apr_file_info_get(apr_finfo_t *finfo,
- apr_int32_t wanted,
- apr_file_t *thefile);
-
-
-/**
- * Truncate the file's length to the specified offset
- * @param fp The file to truncate
- * @param offset The offset to truncate to.
- * @remark The read/write file offset is repositioned to offset.
- */
-APR_DECLARE(apr_status_t) apr_file_trunc(apr_file_t *fp, apr_off_t offset);
-
-/**
- * Retrieve the flags that were passed into apr_file_open()
- * when the file was opened.
- * @return apr_int32_t the flags
- */
-APR_DECLARE(apr_int32_t) apr_file_flags_get(apr_file_t *f);
-
-/**
- * Get the pool used by the file.
- */
-APR_POOL_DECLARE_ACCESSOR(file);
-
-/**
- * Set a file to be inherited by child processes.
- *
- */
-APR_DECLARE_INHERIT_SET(file);
-
-/** @deprecated @see apr_file_inherit_set */
-APR_DECLARE(void) apr_file_set_inherit(apr_file_t *file);
-
-/**
- * Unset a file from being inherited by child processes.
- */
-APR_DECLARE_INHERIT_UNSET(file);
-
-/** @deprecated @see apr_file_inherit_unset */
-APR_DECLARE(void) apr_file_unset_inherit(apr_file_t *file);
-
-/**
- * Open a temporary file
- * @param fp The apr file to use as a temporary file.
- * @param templ The template to use when creating a temp file.
- * @param flags The flags to open the file with. If this is zero,
- * the file is opened with
- * APR_CREATE | APR_READ | APR_WRITE | APR_EXCL | APR_DELONCLOSE
- * @param p The pool to allocate the file out of.
- * @remark
- * This function generates a unique temporary file name from template.
- * The last six characters of template must be XXXXXX and these are replaced
- * with a string that makes the filename unique. Since it will be modified,
- * template must not be a string constant, but should be declared as a character
- * array.
- *
- */
-APR_DECLARE(apr_status_t) apr_file_mktemp(apr_file_t **fp, char *templ,
- apr_int32_t flags, apr_pool_t *p);
-
-
-/**
- * Find an existing directory suitable as a temporary storage location.
- * @param temp_dir The temp directory.
- * @param p The pool to use for any necessary allocations.
- * @remark
- * This function uses an algorithm to search for a directory that an
- * an application can use for temporary storage. Once such a
- * directory is found, that location is cached by the library. Thus,
- * callers only pay the cost of this algorithm once if that one time
- * is successful.
- *
- */
-APR_DECLARE(apr_status_t) apr_temp_dir_get(const char **temp_dir,
- apr_pool_t *p);
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ! APR_FILE_IO_H */
diff --git a/rubbos/app/apache2/include/apr_fnmatch.h b/rubbos/app/apache2/include/apr_fnmatch.h
deleted file mode 100644
index 8be40fc8..00000000
--- a/rubbos/app/apache2/include/apr_fnmatch.h
+++ /dev/null
@@ -1,105 +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 Software Foundation. */
-#ifndef _APR_FNMATCH_H_
-#define _APR_FNMATCH_H_
-
-/**
- * @file apr_fnmatch.h
- * @brief APR FNMatch Functions
- */
-
-#include "apr_errno.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @defgroup apr_fnmatch Filename Matching Functions
- * @ingroup APR
- * @{
- */
-
-#define APR_FNM_NOMATCH 1 /**< Match failed. */
-
-#define APR_FNM_NOESCAPE 0x01 /**< Disable backslash escaping. */
-#define APR_FNM_PATHNAME 0x02 /**< Slash must be matched by slash. */
-#define APR_FNM_PERIOD 0x04 /**< Period must be matched by period. */
-#define APR_FNM_CASE_BLIND 0x08 /**< Compare characters case-insensitively.
- * @remark This flag is an Apache addition
- */
-
-#define FNM_NOMATCH APR_FNM_NOMATCH /**< @deprecated @see APR_FNM_NOMATCH */
-#define FNM_NOESCAPE APR_FNM_NOESCAPE /**< @deprecated @see APR_FNM_NOESCAPE */
-#define FNM_PATHNAME APR_FNM_PATHNAME /**< @deprecated @see APR_FNM_PATHNAME */
-#define FNM_PERIOD APR_FNM_PERIOD /**< @deprecated @see APR_FNM_PERIOD */
-#define FNM_CASE_BLIND APR_FNM_CASE_BLIND /**< @deprecated @see APR_FNM_CASE_BLIND */
-
-/**
- * Try to match the string to the given pattern, return APR_SUCCESS if
- * match, else return APR_FNM_NOMATCH.
- * @param pattern The pattern to match to
- * @param strings The string we are trying to match
- * @param flags flags to use in the match. Bitwise OR of:
- * <PRE>
- * APR_FNM_NOESCAPE Disable backslash escaping
- * APR_FNM_PATHNAME Slash must be matched by slash
- * APR_FNM_PERIOD Period must be matched by period
- * APR_FNM_CASE_BLIND Compare characters case-insensitively.
- * </PRE>
- */
-
-APR_DECLARE(apr_status_t) apr_fnmatch(const char *pattern,
- const char *strings, int flags);
-
-/**
- * Determine if the given pattern is a regular expression.
- * @param pattern The pattern to search for glob characters.
- * @return non-zero if pattern has any glob characters in it
- */
-APR_DECLARE(int) apr_fnmatch_test(const char *pattern);
-
-/** @deprecated @see apr_fnmatch_test */
-APR_DECLARE(int) apr_is_fnmatch(const char *pattern);
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !_APR_FNMATCH_H_ */
diff --git a/rubbos/app/apache2/include/apr_general.h b/rubbos/app/apache2/include/apr_general.h
deleted file mode 100644
index 10e150b9..00000000
--- a/rubbos/app/apache2/include/apr_general.h
+++ /dev/null
@@ -1,249 +0,0 @@
-/* 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 APR_GENERAL_H
-#define APR_GENERAL_H
-
-/**
- * @file apr_general.h
- * This is collection of oddballs that didn't fit anywhere else,
- * and might move to more appropriate headers with the release
- * of APR 1.0.
- * @brief APR Miscellaneous library routines
- */
-
-#include "apr.h"
-#include "apr_pools.h"
-#include "apr_errno.h"
-
-#if APR_HAVE_SIGNAL_H
-#include <signal.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @defgroup apr_general Miscellaneous library routines
- * @ingroup APR
- * This is collection of oddballs that didn't fit anywhere else,
- * and might move to more appropriate headers with the release
- * of APR 1.0.
- * @{
- */
-
-/** FALSE */
-#ifndef FALSE
-#define FALSE 0
-#endif
-/** TRUE */
-#ifndef TRUE
-#define TRUE (!FALSE)
-#endif
-
-/** a space */
-#define APR_ASCII_BLANK '\040'
-/** a carrige return */
-#define APR_ASCII_CR '\015'
-/** a line feed */
-#define APR_ASCII_LF '\012'
-/** a tab */
-#define APR_ASCII_TAB '\011'
-
-/** signal numbers typedef */
-typedef int apr_signum_t;
-
-/**
- * Finding offsets of elements within structures.
- * Taken from the X code... they've sweated portability of this stuff
- * so we don't have to. Sigh...
- * @param p_type pointer type name
- * @param field data field within the structure pointed to
- * @return offset
- */
-
-#if defined(CRAY) || (defined(__arm) && !defined(LINUX))
-#ifdef __STDC__
-#define APR_OFFSET(p_type,field) _Offsetof(p_type,field)
-#else
-#ifdef CRAY2
-#define APR_OFFSET(p_type,field) \
- (sizeof(int)*((unsigned int)&(((p_type)NULL)->field)))
-
-#else /* !CRAY2 */
-
-#define APR_OFFSET(p_type,field) ((unsigned int)&(((p_type)NULL)->field))
-
-#endif /* !CRAY2 */
-#endif /* __STDC__ */
-#else /* ! (CRAY || __arm) */
-
-#define APR_OFFSET(p_type,field) \
- ((long) (((char *) (&(((p_type)NULL)->field))) - ((char *) NULL)))
-
-#endif /* !CRAY */
-
-/**
- * Finding offsets of elements within structures.
- * @param s_type structure type name
- * @param field data field within the structure
- * @return offset
- */
-#if defined(offsetof) && !defined(__cplusplus)
-#define APR_OFFSETOF(s_type,field) offsetof(s_type,field)
-#else
-#define APR_OFFSETOF(s_type,field) APR_OFFSET(s_type*,field)
-#endif
-
-/** @deprecated @see APR_OFFSET */
-#define APR_XtOffset APR_OFFSET
-
-/** @deprecated @see APR_OFFSETOF */
-#define APR_XtOffsetOf APR_OFFSETOF
-
-#ifndef DOXYGEN
-
-/* A couple of prototypes for functions in case some platform doesn't
- * have it
- */
-#if (!APR_HAVE_STRCASECMP) && (APR_HAVE_STRICMP)
-#define strcasecmp(s1, s2) stricmp(s1, s2)
-#elif (!APR_HAVE_STRCASECMP)
-int strcasecmp(const char *a, const char *b);
-#endif
-
-#if (!APR_HAVE_STRNCASECMP) && (APR_HAVE_STRNICMP)
-#define strncasecmp(s1, s2, n) strnicmp(s1, s2, n)
-#elif (!APR_HAVE_STRNCASECMP)
-int strncasecmp(const char *a, const char *b, size_t n);
-#endif
-
-#endif
-
-/**
- * Alignment macros
- */
-
-/* APR_ALIGN() is only to be used to align on a power of 2 boundary */
-#define APR_ALIGN(size, boundary) \
- (((size) + ((boundary) - 1)) & ~((boundary) - 1))
-
-/** Default alignment */
-#define APR_ALIGN_DEFAULT(size) APR_ALIGN(size, 8)
-
-
-/**
- * String and memory functions
- */
-
-/** Properly quote a value as a string in the C preprocessor */
-#define APR_STRINGIFY(n) APR_STRINGIFY_HELPER(n)
-/** Helper macro for APR_STRINGIFY */
-#define APR_STRINGIFY_HELPER(n) #n
-
-#if (!APR_HAVE_MEMMOVE)
-#define memmove(a,b,c) bcopy(b,a,c)
-#endif
-
-#if (!APR_HAVE_MEMCHR)
-void *memchr(const void *s, int c, size_t n);
-#endif
-
-/** @} */
-
-/**
- * @defgroup apr_library Library initialization and termination
- * @{
- */
-
-/**
- * Setup any APR internal data structures. This MUST be the first function
- * called for any APR library.
- * @remark See apr_app_initialize if this is an application, rather than
- * a library consumer of apr.
- */
-APR_DECLARE(apr_status_t) apr_initialize(void);
-
-/**
- * Set up an application with normalized argc, argv (and optionally env) in
- * order to deal with platform-specific oddities, such as Win32 services,
- * code pages and signals. This must be the first function called for any
- * APR program.
- * @param argc Pointer to the argc that may be corrected
- * @param argv Pointer to the argv that may be corrected
- * @param env Pointer to the env that may be corrected, may be NULL
- * @remark See apr_initialize if this is a library consumer of apr.
- * Otherwise, this call is identical to apr_initialize, and must be closed
- * with a call to apr_terminate at the end of program execution.
- */
-APR_DECLARE(apr_status_t) apr_app_initialize(int *argc,
- char const * const * *argv,
- char const * const * *env);
-
-/**
- * Tear down any APR internal data structures which aren't torn down
- * automatically.
- * @remark An APR program must call this function at termination once it
- * has stopped using APR services. The APR developers suggest using
- * atexit to ensure this is called. When using APR from a language
- * other than C that has problems with the calling convention, use
- * apr_terminate2() instead.
- */
-APR_DECLARE_NONSTD(void) apr_terminate(void);
-
-/**
- * Tear down any APR internal data structures which aren't torn down
- * automatically, same as apr_terminate
- * @remark An APR program must call either the apr_terminate or apr_terminate2
- * function once it it has finished using APR services. The APR
- * developers suggest using atexit(apr_terminate) to ensure this is done.
- * apr_terminate2 exists to allow non-c language apps to tear down apr,
- * while apr_terminate is recommended from c language applications.
- */
-APR_DECLARE(void) apr_terminate2(void);
-
-/** @} */
-
-/**
- * @defgroup apr_random Random Functions
- * @{
- */
-
-#if APR_HAS_RANDOM || defined(DOXYGEN)
-
-/* TODO: I'm not sure this is the best place to put this prototype...*/
-/**
- * Generate random bytes.
- * @param buf Buffer to fill with random bytes
- * @param length Length of buffer in bytes (becomes apr_size_t in APR 1.0)
- */
-#ifdef APR_ENABLE_FOR_1_0
-APR_DECLARE(apr_status_t) apr_generate_random_bytes(unsigned char * buf,
- apr_size_t length);
-#else
-APR_DECLARE(apr_status_t) apr_generate_random_bytes(unsigned char * buf,
- int length);
-#endif
-
-#endif
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ! APR_GENERAL_H */
diff --git a/rubbos/app/apache2/include/apr_getopt.h b/rubbos/app/apache2/include/apr_getopt.h
deleted file mode 100644
index 131aa4b3..00000000
--- a/rubbos/app/apache2/include/apr_getopt.h
+++ /dev/null
@@ -1,158 +0,0 @@
-/* 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 APR_GETOPT_H
-#define APR_GETOPT_H
-
-/**
- * @file apr_getopt.h
- * @brief APR Command Arguments (getopt)
- */
-
-#include "apr_pools.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @defgroup apr_getopt Command Argument Parsing
- * @ingroup APR
- * @{
- */
-
-/**
- * defintion of a error function
- */
-typedef void (apr_getopt_err_fn_t)(void *arg, const char *err, ...);
-
-/** @see apr_getopt_t */
-typedef struct apr_getopt_t apr_getopt_t;
-
-/**
- * Structure to store command line argument information.
- */
-struct apr_getopt_t {
- /** context for processing */
- apr_pool_t *cont;
- /** function to print error message (NULL == no messages) */
- apr_getopt_err_fn_t *errfn;
- /** user defined first arg to pass to error message */
- void *errarg;
- /** index into parent argv vector */
- int ind;
- /** character checked for validity */
- int opt;
- /** reset getopt */
- int reset;
- /** count of arguments */
- int argc;
- /** array of pointers to arguments */
- const char **argv;
- /** argument associated with option */
- char const* place;
- /** set to nonzero to support interleaving options with regular args */
- int interleave;
- /** start of non-option arguments skipped for interleaving */
- int skip_start;
- /** end of non-option arguments skipped for interleaving */
- int skip_end;
-};
-
-/** @see apr_getopt_option_t */
-typedef struct apr_getopt_option_t apr_getopt_option_t;
-
-/**
- * Structure used to describe options that getopt should search for.
- */
-struct apr_getopt_option_t {
- /** long option name, or NULL if option has no long name */
- const char *name;
- /** option letter, or a value greater than 255 if option has no letter */
- int optch;
- /** nonzero if option takes an argument */
- int has_arg;
- /** a description of the option */
- const char *description;
-};
-
-/**
- * Initialize the arguments for parsing by apr_getopt().
- * @param os The options structure created for apr_getopt()
- * @param cont The pool to operate on
- * @param argc The number of arguments to parse
- * @param argv The array of arguments to parse
- * @remark Arguments 2 and 3 are most commonly argc and argv from main(argc, argv)
- * The errfn is initialized to fprintf(stderr... but may be overridden.
- */
-APR_DECLARE(apr_status_t) apr_getopt_init(apr_getopt_t **os, apr_pool_t *cont,
- int argc, const char * const *argv);
-
-/**
- * Parse the options initialized by apr_getopt_init().
- * @param os The apr_opt_t structure returned by apr_getopt_init()
- * @param opts A string of characters that are acceptable options to the
- * program. Characters followed by ":" are required to have an
- * option associated
- * @param option_ch The next option character parsed
- * @param option_arg The argument following the option character:
- * @return There are four potential status values on exit. They are:
- * <PRE>
- * APR_EOF -- No more options to parse
- * APR_BADCH -- Found a bad option character
- * APR_BADARG -- No argument followed the option flag
- * APR_SUCCESS -- The next option was found.
- * </PRE>
- */
-APR_DECLARE(apr_status_t) apr_getopt(apr_getopt_t *os, const char *opts,
- char *option_ch, const char **option_arg);
-
-/**
- * Parse the options initialized by apr_getopt_init(), accepting long
- * options beginning with "--" in addition to single-character
- * options beginning with "-".
- * @param os The apr_getopt_t structure created by apr_getopt_init()
- * @param opts A pointer to a list of apr_getopt_option_t structures, which
- * can be initialized with { "name", optch, has_args }. has_args
- * is nonzero if the option requires an argument. A structure
- * with an optch value of 0 terminates the list.
- * @param option_ch Receives the value of "optch" from the apr_getopt_option_t
- * structure corresponding to the next option matched.
- * @param option_arg Receives the argument following the option, if any.
- * @return There are four potential status values on exit. They are:
- * <PRE>
- * APR_EOF -- No more options to parse
- * APR_BADCH -- Found a bad option character
- * APR_BADARG -- No argument followed the option flag
- * APR_SUCCESS -- The next option was found.
- * </PRE>
- * When APR_SUCCESS is returned, os->ind gives the index of the first
- * non-option argument. On error, a message will be printed to stdout unless
- * os->err is set to 0. If os->interleave is set to nonzero, options can come
- * after arguments, and os->argv will be permuted to leave non-option arguments
- * at the end (the original argv is unaffected).
- */
-APR_DECLARE(apr_status_t) apr_getopt_long(apr_getopt_t *os,
- const apr_getopt_option_t *opts,
- int *option_ch,
- const char **option_arg);
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ! APR_GETOPT_H */
diff --git a/rubbos/app/apache2/include/apr_global_mutex.h b/rubbos/app/apache2/include/apr_global_mutex.h
deleted file mode 100644
index 9316001c..00000000
--- a/rubbos/app/apache2/include/apr_global_mutex.h
+++ /dev/null
@@ -1,153 +0,0 @@
-/* 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 APR_GLOBAL_MUTEX_H
-#define APR_GLOBAL_MUTEX_H
-
-/**
- * @file apr_global_mutex.h
- * @brief APR Global Locking Routines
- */
-
-#include "apr.h"
-#include "apr_proc_mutex.h" /* only for apr_lockmech_e */
-#include "apr_pools.h"
-#include "apr_errno.h"
-#if APR_PROC_MUTEX_IS_GLOBAL
-#include "apr_proc_mutex.h"
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @defgroup APR_GlobalMutex Global Locking Routines
- * @ingroup APR
- * @{
- */
-
-#if !APR_PROC_MUTEX_IS_GLOBAL || defined(DOXYGEN)
-
-/** Opaque global mutex structure. */
-typedef struct apr_global_mutex_t apr_global_mutex_t;
-
-/* Function definitions */
-
-/**
- * Create and initialize a mutex that can be used to synchronize both
- * processes and threads. Note: There is considerable overhead in using
- * this API if only cross-process or cross-thread mutual exclusion is
- * required. See apr_proc_mutex.h and apr_thread_mutex.h for more
- * specialized lock routines.
- * @param mutex the memory address where the newly created mutex will be
- * stored.
- * @param fname A file name to use if the lock mechanism requires one. This
- * argument should always be provided. The lock code itself will
- * determine if it should be used.
- * @param mech The mechanism to use for the interprocess lock, if any; one of
- * <PRE>
- * APR_LOCK_FCNTL
- * APR_LOCK_FLOCK
- * APR_LOCK_SYSVSEM
- * APR_LOCK_POSIXSEM
- * APR_LOCK_PROC_PTHREAD
- * APR_LOCK_DEFAULT pick the default mechanism for the platform
- * </PRE>
- * @param pool the pool from which to allocate the mutex.
- * @warning Check APR_HAS_foo_SERIALIZE defines to see if the platform supports
- * APR_LOCK_foo. Only APR_LOCK_DEFAULT is portable.
- */
-APR_DECLARE(apr_status_t) apr_global_mutex_create(apr_global_mutex_t **mutex,
- const char *fname,
- apr_lockmech_e mech,
- apr_pool_t *pool);
-
-/**
- * Re-open a mutex in a child process.
- * @param mutex The newly re-opened mutex structure.
- * @param fname A file name to use if the mutex mechanism requires one. This
- * argument should always be provided. The mutex code itself will
- * determine if it should be used. This filename should be the
- * same one that was passed to apr_global_mutex_create().
- * @param pool The pool to operate on.
- * @remark This function must be called to maintain portability, even
- * if the underlying lock mechanism does not require it.
- */
-APR_DECLARE(apr_status_t) apr_global_mutex_child_init(
- apr_global_mutex_t **mutex,
- const char *fname,
- apr_pool_t *pool);
-
-/**
- * Acquire the lock for the given mutex. If the mutex is already locked,
- * the current thread will be put to sleep until the lock becomes available.
- * @param mutex the mutex on which to acquire the lock.
- */
-APR_DECLARE(apr_status_t) apr_global_mutex_lock(apr_global_mutex_t *mutex);
-
-/**
- * Attempt to acquire the lock for the given mutex. If the mutex has already
- * been acquired, the call returns immediately with APR_EBUSY. Note: it
- * is important that the APR_STATUS_IS_EBUSY(s) macro be used to determine
- * if the return value was APR_EBUSY, for portability reasons.
- * @param mutex the mutex on which to attempt the lock acquiring.
- */
-APR_DECLARE(apr_status_t) apr_global_mutex_trylock(apr_global_mutex_t *mutex);
-
-/**
- * Release the lock for the given mutex.
- * @param mutex the mutex from which to release the lock.
- */
-APR_DECLARE(apr_status_t) apr_global_mutex_unlock(apr_global_mutex_t *mutex);
-
-/**
- * Destroy the mutex and free the memory associated with the lock.
- * @param mutex the mutex to destroy.
- */
-APR_DECLARE(apr_status_t) apr_global_mutex_destroy(apr_global_mutex_t *mutex);
-
-/**
- * Get the pool used by this global_mutex.
- * @return apr_pool_t the pool
- */
-APR_POOL_DECLARE_ACCESSOR(global_mutex);
-
-#else /* APR_PROC_MUTEX_IS_GLOBAL */
-
-/* Some platforms [e.g. Win32] have cross process locks that are truly
- * global locks, since there isn't the concept of cross-process locks.
- * Define these platforms in terms of an apr_proc_mutex_t.
- */
-
-#define apr_global_mutex_t apr_proc_mutex_t
-#define apr_global_mutex_create apr_proc_mutex_create
-#define apr_global_mutex_child_init apr_proc_mutex_child_init
-#define apr_global_mutex_lock apr_proc_mutex_lock
-#define apr_global_mutex_trylock apr_proc_mutex_trylock
-#define apr_global_mutex_unlock apr_proc_mutex_unlock
-#define apr_global_mutex_destroy apr_proc_mutex_destroy
-#define apr_global_mutex_pool_get apr_proc_mutex_pool_get
-
-#endif
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ndef APR_GLOBAL_MUTEX_H */
diff --git a/rubbos/app/apache2/include/apr_hash.h b/rubbos/app/apache2/include/apr_hash.h
deleted file mode 100644
index 87795c4a..00000000
--- a/rubbos/app/apache2/include/apr_hash.h
+++ /dev/null
@@ -1,201 +0,0 @@
-/* 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 APR_HASH_H
-#define APR_HASH_H
-
-/**
- * @file apr_hash.h
- * @brief APR Hash Tables
- */
-
-#include "apr_pools.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @defgroup apr_hash Hash Tables
- * @ingroup APR
- * @{
- */
-
-/**
- * When passing a key to apr_hash_set or apr_hash_get, this value can be
- * passed to indicate a string-valued key, and have apr_hash compute the
- * length automatically.
- *
- * @remark apr_hash will use strlen(key) for the length. The null-terminator
- * is not included in the hash value (why throw a constant in?).
- * Since the hash table merely references the provided key (rather
- * than copying it), apr_hash_this() will return the null-term'd key.
- */
-#define APR_HASH_KEY_STRING (-1)
-
-/**
- * Abstract type for hash tables.
- */
-typedef struct apr_hash_t apr_hash_t;
-
-/**
- * Abstract type for scanning hash tables.
- */
-typedef struct apr_hash_index_t apr_hash_index_t;
-
-/**
- * Create a hash table.
- * @param pool The pool to allocate the hash table out of
- * @return The hash table just created
- */
-APR_DECLARE(apr_hash_t *) apr_hash_make(apr_pool_t *pool);
-
-/**
- * Make a copy of a hash table
- * @param pool The pool from which to allocate the new hash table
- * @param h The hash table to clone
- * @return The hash table just created
- * @remark Makes a shallow copy
- */
-APR_DECLARE(apr_hash_t *) apr_hash_copy(apr_pool_t *pool,
- const apr_hash_t *h);
-
-/**
- * Associate a value with a key in a hash table.
- * @param ht The hash table
- * @param key Pointer to the key
- * @param klen Length of the key. Can be APR_HASH_KEY_STRING to use the string length.
- * @param val Value to associate with the key
- * @remark If the value is NULL the hash entry is deleted.
- */
-APR_DECLARE(void) apr_hash_set(apr_hash_t *ht, const void *key,
- apr_ssize_t klen, const void *val);
-
-/**
- * Look up the value associated with a key in a hash table.
- * @param ht The hash table
- * @param key Pointer to the key
- * @param klen Length of the key. Can be APR_HASH_KEY_STRING to use the string length.
- * @return Returns NULL if the key is not present.
- */
-APR_DECLARE(void *) apr_hash_get(apr_hash_t *ht, const void *key,
- apr_ssize_t klen);
-
-/**
- * Start iterating over the entries in a hash table.
- * @param p The pool to allocate the apr_hash_index_t iterator. If this
- * pool is NULL, then an internal, non-thread-safe iterator is used.
- * @param ht The hash table
- * @remark There is no restriction on adding or deleting hash entries during
- * an iteration (although the results may be unpredictable unless all you do
- * is delete the current entry) and multiple iterations can be in
- * progress at the same time.
-
- * @example
- */
-/**
- * <PRE>
- *
- * int sum_values(apr_pool_t *p, apr_hash_t *ht)
- * {
- * apr_hash_index_t *hi;
- * void *val;
- * int sum = 0;
- * for (hi = apr_hash_first(p, ht); hi; hi = apr_hash_next(hi)) {
- * apr_hash_this(hi, NULL, NULL, &val);
- * sum += *(int *)val;
- * }
- * return sum;
- * }
- * </PRE>
- */
-APR_DECLARE(apr_hash_index_t *) apr_hash_first(apr_pool_t *p, apr_hash_t *ht);
-
-/**
- * Continue iterating over the entries in a hash table.
- * @param hi The iteration state
- * @return a pointer to the updated iteration state. NULL if there are no more
- * entries.
- */
-APR_DECLARE(apr_hash_index_t *) apr_hash_next(apr_hash_index_t *hi);
-
-/**
- * Get the current entry's details from the iteration state.
- * @param hi The iteration state
- * @param key Return pointer for the pointer to the key.
- * @param klen Return pointer for the key length.
- * @param val Return pointer for the associated value.
- * @remark The return pointers should point to a variable that will be set to the
- * corresponding data, or they may be NULL if the data isn't interesting.
- */
-APR_DECLARE(void) apr_hash_this(apr_hash_index_t *hi, const void **key,
- apr_ssize_t *klen, void **val);
-
-/**
- * Get the number of key/value pairs in the hash table.
- * @param ht The hash table
- * @return The number of key/value pairs in the hash table.
- */
-APR_DECLARE(unsigned int) apr_hash_count(apr_hash_t *ht);
-
-/**
- * Merge two hash tables into one new hash table. The values of the overlay
- * hash override the values of the base if both have the same key.
- * @param p The pool to use for the new hash table
- * @param overlay The table to add to the initial table
- * @param base The table that represents the initial values of the new table
- * @return A new hash table containing all of the data from the two passed in
- */
-APR_DECLARE(apr_hash_t *) apr_hash_overlay(apr_pool_t *p,
- const apr_hash_t *overlay,
- const apr_hash_t *base);
-
-/**
- * Merge two hash tables into one new hash table. If the same key
- * is present in both tables, call the supplied merge function to
- * produce a merged value for the key in the new table.
- * @param p The pool to use for the new hash table
- * @param h1 The first of the tables to merge
- * @param h2 The second of the tables to merge
- * @param merger A callback function to merge values, or NULL to
- * make values from h1 override values from h2 (same semantics as
- * apr_hash_overlay())
- * @param data Client data to pass to the merger function
- * @return A new hash table containing all of the data from the two passed in
- */
-APR_DECLARE(apr_hash_t *) apr_hash_merge(apr_pool_t *p,
- const apr_hash_t *h1,
- const apr_hash_t *h2,
- void * (*merger)(apr_pool_t *p,
- const void *key,
- apr_ssize_t klen,
- const void *h1_val,
- const void *h2_val,
- const void *data),
- const void *data);
-
-/**
- * Get a pointer to the pool which the hash table was created in
- */
-APR_POOL_DECLARE_ACCESSOR(hash);
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !APR_HASH_H */
diff --git a/rubbos/app/apache2/include/apr_hooks.h b/rubbos/app/apache2/include/apr_hooks.h
deleted file mode 100644
index 73435b82..00000000
--- a/rubbos/app/apache2/include/apr_hooks.h
+++ /dev/null
@@ -1,273 +0,0 @@
-/* Copyright 2000-2005 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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 APR_HOOKS_H
-#define APR_HOOKS_H
-
-#include "apu.h"
-/* For apr_array_header_t */
-#include "apr_tables.h"
-
-/**
- * @file apr_hooks.h
- * @brief Apache hook functions
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-/**
- * @defgroup APR_Util_Hook Hook Functions
- * @ingroup APR_Util
- * @{
- */
-/** macro to return the prototype of the hook function */
-#define APR_IMPLEMENT_HOOK_GET_PROTO(ns,link,name) \
-link##_DECLARE(apr_array_header_t *) ns##_hook_get_##name(void)
-
-/** macro to declare the hook correctly */
-#define APR_DECLARE_EXTERNAL_HOOK(ns,link,ret,name,args) \
-typedef ret ns##_HOOK_##name##_t args; \
-link##_DECLARE(void) ns##_hook_##name(ns##_HOOK_##name##_t *pf, \
- const char * const *aszPre, \
- const char * const *aszSucc, int nOrder); \
-link##_DECLARE(ret) ns##_run_##name args; \
-APR_IMPLEMENT_HOOK_GET_PROTO(ns,link,name); \
-typedef struct ns##_LINK_##name##_t \
- { \
- ns##_HOOK_##name##_t *pFunc; \
- const char *szName; \
- const char * const *aszPredecessors; \
- const char * const *aszSuccessors; \
- int nOrder; \
- } ns##_LINK_##name##_t;
-
-/** macro to declare the hook structure */
-#define APR_HOOK_STRUCT(members) \
-static struct { members } _hooks;
-
-/** macro to link the hook structure */
-#define APR_HOOK_LINK(name) \
- apr_array_header_t *link_##name;
-
-/** macro to implement the hook */
-#define APR_IMPLEMENT_EXTERNAL_HOOK_BASE(ns,link,name) \
-link##_DECLARE(void) ns##_hook_##name(ns##_HOOK_##name##_t *pf,const char * const *aszPre, \
- const char * const *aszSucc,int nOrder) \
- { \
- ns##_LINK_##name##_t *pHook; \
- if(!_hooks.link_##name) \
- { \
- _hooks.link_##name=apr_array_make(apr_hook_global_pool,1,sizeof(ns##_LINK_##name##_t)); \
- apr_hook_sort_register(#name,&_hooks.link_##name); \
- } \
- pHook=apr_array_push(_hooks.link_##name); \
- pHook->pFunc=pf; \
- pHook->aszPredecessors=aszPre; \
- pHook->aszSuccessors=aszSucc; \
- pHook->nOrder=nOrder; \
- pHook->szName=apr_hook_debug_current; \
- if(apr_hook_debug_enabled) \
- apr_hook_debug_show(#name,aszPre,aszSucc); \
- } \
- APR_IMPLEMENT_HOOK_GET_PROTO(ns,link,name) \
- { \
- return _hooks.link_##name; \
- }
-
-/**
- * Implement a hook that has no return code, and therefore runs all of the
- * registered functions
- * @param ns The namespace prefix of the hook functions
- * @param link The linkage declaration prefix of the hook
- * @param name The name of the hook
- * @param args_decl The declaration of the arguments for the hook
- * @param args_use The names for the arguments for the hook
- * @note The link prefix FOO corresponds to FOO_DECLARE() macros, which
- * provide export linkage from the module that IMPLEMENTs the hook, and
- * import linkage from external modules that link to the hook's module.
- */
-#define APR_IMPLEMENT_EXTERNAL_HOOK_VOID(ns,link,name,args_decl,args_use) \
-APR_IMPLEMENT_EXTERNAL_HOOK_BASE(ns,link,name) \
-link##_DECLARE(void) ns##_run_##name args_decl \
- { \
- ns##_LINK_##name##_t *pHook; \
- int n; \
-\
- if(!_hooks.link_##name) \
- return; \
-\
- pHook=(ns##_LINK_##name##_t *)_hooks.link_##name->elts; \
- for(n=0 ; n < _hooks.link_##name->nelts ; ++n) \
- pHook[n].pFunc args_use; \
- }
-
-/* FIXME: note that this returns ok when nothing is run. I suspect it should
- really return decline, but that breaks Apache currently - Ben
-*/
-/**
- * Implement a hook that runs until one of the functions returns something
- * other than OK or DECLINE
- * @param ns The namespace prefix of the hook functions
- * @param link The linkage declaration prefix of the hook
- * @param ret Type to return
- * @param name The name of the hook
- * @param args_decl The declaration of the arguments for the hook
- * @param args_use The names for the arguments for the hook
- * @param ok Success value
- * @param decline Decline value
- * @note The link prefix FOO corresponds to FOO_DECLARE() macros, which
- * provide export linkage from the module that IMPLEMENTs the hook, and
- * import linkage from external modules that link to the hook's module.
- */
-#define APR_IMPLEMENT_EXTERNAL_HOOK_RUN_ALL(ns,link,ret,name,args_decl,args_use,ok,decline) \
-APR_IMPLEMENT_EXTERNAL_HOOK_BASE(ns,link,name) \
-link##_DECLARE(ret) ns##_run_##name args_decl \
- { \
- ns##_LINK_##name##_t *pHook; \
- int n; \
- ret rv; \
-\
- if(!_hooks.link_##name) \
- return ok; \
-\
- pHook=(ns##_LINK_##name##_t *)_hooks.link_##name->elts; \
- for(n=0 ; n < _hooks.link_##name->nelts ; ++n) \
- { \
- rv=pHook[n].pFunc args_use; \
-\
- if(rv != ok && rv != decline) \
- return rv; \
- } \
- return ok; \
- }
-
-
-/**
- * Implement a hook that runs until the first function returns something
- * other than the value of decline
- * @param ns The namespace prefix of the hook functions
- * @param link The linkage declaration prefix of the hook
- * @param name The name of the hook
- * @param ret Type to return
- * @param args_decl The declaration of the arguments for the hook
- * @param args_use The names for the arguments for the hook
- * @param decline Decline value
- * @note The link prefix FOO corresponds to FOO_DECLARE() macros, which
- * provide export linkage from the module that IMPLEMENTs the hook, and
- * import linkage from external modules that link to the hook's module.
- */
-#define APR_IMPLEMENT_EXTERNAL_HOOK_RUN_FIRST(ns,link,ret,name,args_decl,args_use,decline) \
-APR_IMPLEMENT_EXTERNAL_HOOK_BASE(ns,link,name) \
-link##_DECLARE(ret) ns##_run_##name args_decl \
- { \
- ns##_LINK_##name##_t *pHook; \
- int n; \
- ret rv; \
-\
- if(!_hooks.link_##name) \
- return decline; \
-\
- pHook=(ns##_LINK_##name##_t *)_hooks.link_##name->elts; \
- for(n=0 ; n < _hooks.link_##name->nelts ; ++n) \
- { \
- rv=pHook[n].pFunc args_use; \
-\
- if(rv != decline) \
- return rv; \
- } \
- return decline; \
- }
-
- /* Hook orderings */
-/** run this hook first, before ANYTHING */
-#define APR_HOOK_REALLY_FIRST (-10)
-/** run this hook first */
-#define APR_HOOK_FIRST 0
-/** run this hook somewhere */
-#define APR_HOOK_MIDDLE 10
-/** run this hook after every other hook which is defined*/
-#define APR_HOOK_LAST 20
-/** run this hook last, after EVERYTHING */
-#define APR_HOOK_REALLY_LAST 30
-
-/**
- * The global pool used to allocate any memory needed by the hooks.
- */
-APU_DECLARE_DATA extern apr_pool_t *apr_hook_global_pool;
-
-/** @deprecated @see apr_hook_global_pool */
-APU_DECLARE_DATA extern apr_pool_t *apr_global_hook_pool;
-
-/**
- * A global variable to determine if debugging information about the
- * hooks functions should be printed
- */
-APU_DECLARE_DATA extern int apr_hook_debug_enabled;
-
-/** @deprecated @see apr_hook_debug_enabled */
-APU_DECLARE_DATA extern int apr_debug_module_hooks;
-
-/**
- * The name of the module that is currently registering a function
- */
-APU_DECLARE_DATA extern const char *apr_hook_debug_current;
-
-/** @deprecated @see apr_hook_debug_current */
-APU_DECLARE_DATA extern const char *apr_current_hooking_module;
-
-/**
- * Register a hook function to be sorted
- * @param szHookName The name of the Hook the function is registered for
- * @param aHooks The array which stores all of the functions for this hook
- */
-APU_DECLARE(void) apr_hook_sort_register(const char *szHookName,
- apr_array_header_t **aHooks);
-/**
- * Sort all of the registerd functions for a given hook
- */
-APU_DECLARE(void) apr_hook_sort_all(void);
-
-/** @deprecated @see apr_hook_sort_all */
-APU_DECLARE(void) apr_sort_hooks(void);
-
-/**
- * Print all of the information about the current hook. This is used for
- * debugging purposes.
- * @param szName The name of the hook
- * @param aszPre All of the functions in the predecessor array
- * @param aszSucc All of the functions in the successor array
- */
-APU_DECLARE(void) apr_hook_debug_show(const char *szName,
- const char * const *aszPre,
- const char * const *aszSucc);
-
-/** @deprecated @see apr_hook_debug_show */
-APU_DECLARE(void) apr_show_hook(const char *szName,
- const char * const *aszPre,
- const char * const *aszSucc);
-
-/**
- * Remove all currently registered functions.
- */
-APU_DECLARE(void) apr_hook_deregister_all(void);
-
-/** @} */
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* APR_HOOKS_H */
diff --git a/rubbos/app/apache2/include/apr_inherit.h b/rubbos/app/apache2/include/apr_inherit.h
deleted file mode 100644
index b7f7480f..00000000
--- a/rubbos/app/apache2/include/apr_inherit.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* 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 APR_INHERIT_H
-#define APR_INHERIT_H
-
-/**
- * @file apr_inherit.h
- * @brief APR File Handle Inheritance Helpers
- * @remark This internal header includes internal declaration helpers
- * for other headers to declare apr_foo_inherit_[un]set functions.
- */
-
-/**
- * Prototype for type-specific declarations of apr_foo_inherit_set
- * functions.
- * @remark Doxygen unwraps this macro (via doxygen.conf) to provide
- * actual help for each specific occurance of apr_foo_inherit_set.
- * @remark the linkage is specified for APR. It would be possible to expand
- * the macros to support other linkages.
- */
-#define APR_DECLARE_INHERIT_SET(type) \
- APR_DECLARE(apr_status_t) apr_##type##_inherit_set( \
- apr_##type##_t *the##type)
-
-/**
- * Prototype for type-specific declarations of apr_foo_inherit_unset
- * functions.
- * @remark Doxygen unwraps this macro (via doxygen.conf) to provide
- * actual help for each specific occurance of apr_foo_inherit_unset.
- * @remark the linkage is specified for APR. It would be possible to expand
- * the macros to support other linkages.
- */
-#define APR_DECLARE_INHERIT_UNSET(type) \
- APR_DECLARE(apr_status_t) apr_##type##_inherit_unset( \
- apr_##type##_t *the##type)
-
-#endif /* ! APR_INHERIT_H */
diff --git a/rubbos/app/apache2/include/apr_ldap.h b/rubbos/app/apache2/include/apr_ldap.h
deleted file mode 100644
index fc737456..00000000
--- a/rubbos/app/apache2/include/apr_ldap.h
+++ /dev/null
@@ -1,176 +0,0 @@
-/* Copyright 2002-2004 The Apache Software Foundation
- *
- * Licensed 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.
- */
-
-/*
- * apr_ldap.h is generated from apr_ldap.h.in by configure -- do not edit apr_ldap.h
- */
-/**
- * @file apr_ldap.h
- * @brief APR-UTIL LDAP
- */
-#ifndef APU_LDAP_H
-#define APU_LDAP_H
-
-/**
- * @defgroup APR_Util_LDAP LDAP
- * @ingroup APR_Util
- * @{
- */
-
-
-/*
- * This switches LDAP support on or off.
- */
-
-/* this will be defined if LDAP support was compiled into apr-util */
-#define APR_HAS_LDAP 0
-
-/* this whole thing disappears if LDAP is not enabled */
-#if !APR_HAS_LDAP
-
-#define APR_HAS_NETSCAPE_LDAPSDK 0
-#define APR_HAS_NOVELL_LDAPSDK 0
-#define APR_HAS_OPENLDAP_LDAPSDK 0
-#define APR_HAS_MICROSOFT_LDAPSDK 0
-#define APR_HAS_OTHER_LDAPSDK 0
-
-#define APR_HAS_LDAP_SSL 0
-#define APR_HAS_LDAP_URL_PARSE 0
-
-
-#else /* ldap support available */
-
-#ifdef APR_NOT_READY_YET
-/* FIXME: this code awaits support from apu-conf.m4 */
-
- /* There a several LDAPv3 SDKs available on various platforms
- * define which LDAP SDK is used
- */
-#define APR_HAS_NETSCAPE_LDAPSDK @apu_has_ldap_netscape@
-#define APR_HAS_NOVELL_LDAPSDK @apu_has_ldap_novell@
-#define APR_HAS_OPENLDAP_LDAPSDK @apu_has_ldap_openldap@
-#define APR_HAS_MICROSOFT_LDAPSDK @apu_has_ldap_microsoft@
-#define APR_HAS_OTHER_LDAPSDK @apu_has_ldap_other@
-
- /* define if LDAP SSL support is available
- */
-#define APR_HAS_LDAP_SSL @apu_has_ldap_ssl@
-
-#else /* APR_NOT_READY_YET */
-
-/* FIXME: remove this when above code works. Default to build with
- * OpenLDAP until apu-conf.m4 support exists */
-#define APR_HAS_OPENLDAP_LDAPSDK 1
-#define APR_HAS_LDAP_SSL 1
-
-#endif /* APR_NOT_READY_YET */
-
- /* If no APR_HAS_xxx_LDAPSDK is defined error out
- * Define if the SDK supports the ldap_url_parse function
- */
-#if APR_HAS_NETSCAPE_LDAPSDK
- #define APR_HAS_LDAP_URL_PARSE 1
-#elif APR_HAS_NOVELL_LDAPSDK
- #define APR_HAS_LDAP_URL_PARSE 1
-#elif APR_HAS_OPENLDAP_LDAPSDK
- #define APR_HAS_LDAP_URL_PARSE 1
-#elif APR_HAS_MICROSOFT_LDAPSDK
- #define APR_HAS_LDAP_URL_PARSE 0
-#elif APR_HAS_OTHER_LDAPSDK
- #define APR_HAS_LDAP_URL_PARSE 0
-#else
- #define APR_HAS_LDAP_URL_PARSE 0
- #error "ERROR no LDAP SDK defined!"
-#endif
-
-/* These are garbage, our public macros are always APR_HAS_ prefixed,
- * and use 0/1 values, not defined/undef semantics.
- *
- * Will be deprecated in APR 1.0
- */
-#if APR_HAS_LDAP
-#define APU_HAS_LDAP
-#endif
-
-/* LDAP header files */
-
-#if APR_HAS_NETSCAPE_LDAPSDK
-
-
-#if APR_HAS_LDAP_SSL
-
-#endif
-#endif
-
-#if APR_HAS_NOVELL_LDAPSDK
-
-
-#if APR_HAS_LDAP_SSL
-
-#endif
-#endif
-
-#if APR_HAS_OPENLDAP_LDAPSDK
-#if !defined(LDAP_DEPRECATED)
-/* Ensure that the "deprecated" interfaces are still exposed
- * with OpenLDAP >= 2.3; these were exposed by default in earlier
- * releases. */
-#define LDAP_DEPRECATED 1
-#endif
-
-
-#endif
-
-/* MS & v2 LDAP SDKs don't use const parameters in their prototypes,
- * LDAPv3 SDKs mostly use const. Bridge the gap for clean compilation.
- */
-
-#if LDAP_VERSION_MAX <= 2 || APR_HAS_MICROSOFT_LDAPSDK || defined(DOXYGEN)
-/**
- * Cast away constness to compile cleanly against v2 and MS LDAP SDKs
- * @param conststr The value to un-constify on older LDAP SDKs
- */
-#define APR_LDAP_UNCONST(conststr) ((char *)(conststr))
-#else
-#define APR_LDAP_UNCONST(conststr) (conststr)
-#endif
-
-#ifndef __cplusplus
-/**
- * Cast away constness to compile against v2 and MS LDAP SDKs
- * @param conststr The value to un-constify on older LDAP SDKs
- * @bug The apr_ldap.h macro const_cast violated three rules;
- * it was a C++ reserved keyword, it violated the uppercase-only
- * style guideline for apr macros, and it was not namespace protected.
- * It exists here soley to avoid breaking legacy sources using APR 0.9.
- * @deprecated @see APR_LDAP_UNCONST
- */
-#define const_cast(conststr) APR_LDAP_UNCONST(conststr)
-#endif
-
-#include "apr_ldap_url.h"
-
-/* Define some errors that are mysteriously gone from OpenLDAP 2.x */
-#ifndef LDAP_URL_ERR_NOTLDAP
-#define LDAP_URL_ERR_NOTLDAP LDAP_URL_ERR_BADSCHEME
-#endif
-
-#ifndef LDAP_URL_ERR_NODN
-#define LDAP_URL_ERR_NODN LDAP_URL_ERR_BADURL
-#endif
-
-/** @} */
-#endif /* APR_HAS_LDAP */
-#endif /* APU_LDAP_H */
diff --git a/rubbos/app/apache2/include/apr_ldap_url.h b/rubbos/app/apache2/include/apr_ldap_url.h
deleted file mode 100644
index b1813830..00000000
--- a/rubbos/app/apache2/include/apr_ldap_url.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Copyright 2000-2005 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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 APR_LDAP_URL_H
-#define APR_LDAP_URL_H
-
-#include "apr_ldap.h"
-
-#if APR_HAS_LDAP
-#if APR_HAS_LDAP_URL_PARSE
-
-#define apr_ldap_url_desc_t LDAPURLDesc
-#define apr_ldap_is_ldap_url(url) ldap_is_ldap_url(url)
-#define apr_ldap_is_ldaps_url(url) ldap_is_ldaps_url(url)
-#define apr_ldap_is_ldapi_url(url) ldap_is_ldapi_url(url)
-#define apr_ldap_url_parse(url, ludpp) ldap_url_parse(url, ludpp)
-#define apr_ldap_free_urldesc(ludp) ldap_free_urldesc(ludp)
-
-#else /* ! APR_HAS_LDAP_URL_PARSE */
-
-/*
- * types for ldap URL handling
- */
-typedef struct apr_ldap_url_desc_t {
- struct apr_ldap_url_desc_t *lud_next;
- char *lud_scheme;
- char *lud_host;
- int lud_port;
- char *lud_dn;
- char **lud_attrs;
- int lud_scope;
- char *lud_filter;
- char **lud_exts;
- int lud_crit_exts;
-} apr_ldap_url_desc_t;
-
-#ifndef LDAP_URL_SUCCESS
-#define LDAP_URL_SUCCESS 0x00 /* Success */
-#define LDAP_URL_ERR_MEM 0x01 /* can't allocate memory space */
-#define LDAP_URL_ERR_PARAM 0x02 /* parameter is bad */
-#define LDAP_URL_ERR_BADSCHEME 0x03 /* URL doesn't begin with "ldap[si]://" */
-#define LDAP_URL_ERR_BADENCLOSURE 0x04 /* URL is missing trailing ">" */
-#define LDAP_URL_ERR_BADURL 0x05 /* URL is bad */
-#define LDAP_URL_ERR_BADHOST 0x06 /* host port is bad */
-#define LDAP_URL_ERR_BADATTRS 0x07 /* bad (or missing) attributes */
-#define LDAP_URL_ERR_BADSCOPE 0x08 /* scope string is invalid (or missing) */
-#define LDAP_URL_ERR_BADFILTER 0x09 /* bad or missing filter */
-#define LDAP_URL_ERR_BADEXTS 0x0a /* bad or missing extensions */
-#endif
-
-/*
- * in url.c
- *
- * need _ext varients
- */
-APU_DECLARE(int) apr_ldap_is_ldap_url(const char *url);
-
-APU_DECLARE(int) apr_ldap_is_ldaps_url(const char *url);
-
-APU_DECLARE(int) apr_ldap_is_ldapi_url(const char *url);
-
-APU_DECLARE(int) apr_ldap_url_parse(const char *url,
- apr_ldap_url_desc_t **ludpp);
-
-APU_DECLARE(void) apr_ldap_free_urldesc(apr_ldap_url_desc_t *ludp);
-
-#endif /* ! APR_HAS_LDAP_URL_PARSE */
-
-#endif /* APR_HAS_LDAP */
-
-#endif /* APR_LDAP_URL_H */
diff --git a/rubbos/app/apache2/include/apr_lib.h b/rubbos/app/apache2/include/apr_lib.h
deleted file mode 100644
index 2d9ce534..00000000
--- a/rubbos/app/apache2/include/apr_lib.h
+++ /dev/null
@@ -1,228 +0,0 @@
-/* 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 APR_LIB_H
-#define APR_LIB_H
-
-/**
- * @file apr_lib.h
- * This is collection of oddballs that didn't fit anywhere else,
- * and might move to more appropriate headers with the release
- * of APR 1.0.
- * @brief APR general purpose library routines
- */
-
-#include "apr.h"
-#include "apr_errno.h"
-
-#if APR_HAVE_CTYPE_H
-#include <ctype.h>
-#endif
-#if APR_HAVE_STDARG_H
-#include <stdarg.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @defgroup apr_lib General Purpose Library Routines
- * @ingroup APR
- * This is collection of oddballs that didn't fit anywhere else,
- * and might move to more appropriate headers with the release
- * of APR 1.0.
- * @{
- */
-
-/** A constant representing a 'large' string. */
-#define HUGE_STRING_LEN 8192
-
-/*
- * Define the structures used by the APR general-purpose library.
- */
-
-/** @see apr_vformatter_buff_t */
-typedef struct apr_vformatter_buff_t apr_vformatter_buff_t;
-
-/**
- * Structure used by the variable-formatter routines.
- */
-struct apr_vformatter_buff_t {
- /** The current position */
- char *curpos;
- /** The end position of the format string */
- char *endpos;
-};
-
-/**
- * return the final element of the pathname
- * @param pathname The path to get the final element of
- * @return the final element of the path
- * @remark
- * <PRE>
- * For example:
- * "/foo/bar/gum" -> "gum"
- * "/foo/bar/gum/" -> ""
- * "gum" -> "gum"
- * "bs\\path\\stuff" -> "stuff"
- * </PRE>
- */
-APR_DECLARE(const char *) apr_filepath_name_get(const char *pathname);
-
-/** @deprecated @see apr_filepath_name_get */
-APR_DECLARE(const char *) apr_filename_of_pathname(const char *pathname);
-
-/**
- * apr_killpg
- * Small utility macros to make things easier to read. Not usually a
- * goal, to be sure..
- */
-
-#ifdef WIN32
-#define apr_killpg(x, y)
-#else /* WIN32 */
-#ifdef NO_KILLPG
-#define apr_killpg(x, y) (kill (-(x), (y)))
-#else /* NO_KILLPG */
-#define apr_killpg(x, y) (killpg ((x), (y)))
-#endif /* NO_KILLPG */
-#endif /* WIN32 */
-
-/**
- * apr_vformatter() is a generic printf-style formatting routine
- * with some extensions.
- * @param flush_func The function to call when the buffer is full
- * @param c The buffer to write to
- * @param fmt The format string
- * @param ap The arguments to use to fill out the format string.
- *
- * @remark
- * <PRE>
- * The extensions are:
- *
- * %%pA takes a struct in_addr *, and prints it as a.b.c.d
- * %%pI takes an apr_sockaddr_t * and prints it as a.b.c.d:port or
- * [ipv6-address]:port
- * %%pT takes an apr_os_thread_t * and prints it in decimal
- * ('0' is printed if !APR_HAS_THREADS)
- * %%pp takes a void * and outputs it in hex
- *
- * The %%p hacks are to force gcc's printf warning code to skip
- * over a pointer argument without complaining. This does
- * mean that the ANSI-style %%p (output a void * in hex format) won't
- * work as expected at all, but that seems to be a fair trade-off
- * for the increased robustness of having printf-warnings work.
- *
- * Additionally, apr_vformatter allows for arbitrary output methods
- * using the apr_vformatter_buff and flush_func.
- *
- * The apr_vformatter_buff has two elements curpos and endpos.
- * curpos is where apr_vformatter will write the next byte of output.
- * It proceeds writing output to curpos, and updating curpos, until
- * either the end of output is reached, or curpos == endpos (i.e. the
- * buffer is full).
- *
- * If the end of output is reached, apr_vformatter returns the
- * number of bytes written.
- *
- * When the buffer is full, the flush_func is called. The flush_func
- * can return -1 to indicate that no further output should be attempted,
- * and apr_vformatter will return immediately with -1. Otherwise
- * the flush_func should flush the buffer in whatever manner is
- * appropriate, re apr_pool_t nitialize curpos and endpos, and return 0.
- *
- * Note that flush_func is only invoked as a result of attempting to
- * write another byte at curpos when curpos >= endpos. So for
- * example, it's possible when the output exactly matches the buffer
- * space available that curpos == endpos will be true when
- * apr_vformatter returns.
- *
- * apr_vformatter does not call out to any other code, it is entirely
- * self-contained. This allows the callers to do things which are
- * otherwise "unsafe". For example, apr_psprintf uses the "scratch"
- * space at the unallocated end of a block, and doesn't actually
- * complete the allocation until apr_vformatter returns. apr_psprintf
- * would be completely broken if apr_vformatter were to call anything
- * that used this same pool. Similarly http_bprintf() uses the "scratch"
- * space at the end of its output buffer, and doesn't actually note
- * that the space is in use until it either has to flush the buffer
- * or until apr_vformatter returns.
- * </PRE>
- */
-APR_DECLARE(int) apr_vformatter(int (*flush_func)(apr_vformatter_buff_t *b),
- apr_vformatter_buff_t *c, const char *fmt,
- va_list ap);
-
-/**
- * Display a prompt and read in the password from stdin.
- * @param prompt The prompt to display
- * @param pwbuf Buffer to store the password
- * @param bufsize The length of the password buffer.
- */
-APR_DECLARE(apr_status_t) apr_password_get(const char *prompt, char *pwbuf,
- apr_size_t *bufsize);
-
-/** @} */
-
-/**
- * @defgroup apr_ctype ctype functions
- * These macros allow correct support of 8-bit characters on systems which
- * support 8-bit characters. Pretty dumb how the cast is required, but
- * that's legacy libc for ya. These new macros do not support EOF like
- * the standard macros do. Tough.
- * @{
- */
-/** @see isalnum */
-#define apr_isalnum(c) (isalnum(((unsigned char)(c))))
-/** @see isalpha */
-#define apr_isalpha(c) (isalpha(((unsigned char)(c))))
-/** @see iscntrl */
-#define apr_iscntrl(c) (iscntrl(((unsigned char)(c))))
-/** @see isdigit */
-#define apr_isdigit(c) (isdigit(((unsigned char)(c))))
-/** @see isgraph */
-#define apr_isgraph(c) (isgraph(((unsigned char)(c))))
-/** @see islower*/
-#define apr_islower(c) (islower(((unsigned char)(c))))
-/** @see isascii */
-#ifdef isascii
-#define apr_isascii(c) (isascii(((unsigned char)(c))))
-#else
-#define apr_isascii(c) (((c) & ~0x7f)==0)
-#endif
-/** @see isprint */
-#define apr_isprint(c) (isprint(((unsigned char)(c))))
-/** @see ispunct */
-#define apr_ispunct(c) (ispunct(((unsigned char)(c))))
-/** @see isspace */
-#define apr_isspace(c) (isspace(((unsigned char)(c))))
-/** @see isupper */
-#define apr_isupper(c) (isupper(((unsigned char)(c))))
-/** @see isxdigit */
-#define apr_isxdigit(c) (isxdigit(((unsigned char)(c))))
-/** @see tolower */
-#define apr_tolower(c) (tolower(((unsigned char)(c))))
-/** @see toupper */
-#define apr_toupper(c) (toupper(((unsigned char)(c))))
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ! APR_LIB_H */
diff --git a/rubbos/app/apache2/include/apr_md4.h b/rubbos/app/apache2/include/apr_md4.h
deleted file mode 100644
index 42d108df..00000000
--- a/rubbos/app/apache2/include/apr_md4.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/* Copyright 2001-2005 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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.
- */
-/* This is derived from material copyright RSA Data Security, Inc.
- * Their notice is reproduced below in its entirety.
- *
- * Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
- * rights reserved.
- *
- * License to copy and use this software is granted provided that it
- * is identified as the "RSA Data Security, Inc. MD4 Message-Digest
- * Algorithm" in all material mentioning or referencing this software
- * or this function.
- *
- * License is also granted to make and use derivative works provided
- * that such works are identified as "derived from the RSA Data
- * Security, Inc. MD4 Message-Digest Algorithm" in all material
- * mentioning or referencing the derived work.
- *
- * RSA Data Security, Inc. makes no representations concerning either
- * the merchantability of this software or the suitability of this
- * software for any particular purpose. It is provided "as is"
- * without express or implied warranty of any kind.
- *
- * These notices must be retained in any copies of any part of this
- * documentation and/or software.
- */
-
-#ifndef APR_MD4_H
-#define APR_MD4_H
-
-#include "apu.h"
-#include "apr_xlate.h"
-/**
- * @file apr_md4.h
- * @brief APR-UTIL MD4 Library
- */
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @defgroup APR_Util_MD4 MD4 Library
- * @ingroup APR_Util
- * @{
- */
-
-/** The digestsize for MD4 */
-#define APR_MD4_DIGESTSIZE 16
-
-/** @see apr_md4_ctx_t */
-typedef struct apr_md4_ctx_t apr_md4_ctx_t;
-
-/** MD4 context. */
-struct apr_md4_ctx_t {
- /** state (ABCD) */
- apr_uint32_t state[4];
- /** number of bits, modulo 2^64 (lsb first) */
- apr_uint32_t count[2];
- /** input buffer */
- unsigned char buffer[64];
-#if APR_HAS_XLATE
- /** translation handle */
- apr_xlate_t *xlate;
-#endif
-};
-
-/**
- * MD4 Initialize. Begins an MD4 operation, writing a new context.
- * @param context The MD4 context to initialize.
- */
-APU_DECLARE(apr_status_t) apr_md4_init(apr_md4_ctx_t *context);
-
-#if APR_HAS_XLATE
-/**
- * MDr4 translation setup. Provides the APR translation handle to be used
- * for translating the content before calculating the digest.
- * @param context The MD4 content to set the translation for.
- * @param xlate The translation handle to use for this MD4 context
- */
-APU_DECLARE(apr_status_t) apr_md4_set_xlate(apr_md4_ctx_t *context,
- apr_xlate_t *xlate);
-#else
-#define apr_md4_set_xlate(context, xlate) APR_ENOTIMPL
-#endif
-
-/**
- * MD4 block update operation. Continue an MD4 message-digest operation,
- * processing another message block, and updating the context.
- * @param context The MD4 content to update.
- * @param input next message block to update
- * @param inputLen The length of the next message block
- */
-APU_DECLARE(apr_status_t) apr_md4_update(apr_md4_ctx_t *context,
- const unsigned char *input,
- apr_size_t inputLen);
-
-/**
- * MD4 finalization. Ends an MD4 message-digest operation, writing the
- * message digest and zeroing the context
- * @param digest The final MD4 digest
- * @param context The MD4 content we are finalizing.
- */
-APU_DECLARE(apr_status_t) apr_md4_final(
- unsigned char digest[APR_MD4_DIGESTSIZE],
- apr_md4_ctx_t *context);
-
-/**
- * MD4 digest computation
- * @param digest The MD4 digest
- * @param input message block to use
- * @param inputLen The length of the message block
- */
-APU_DECLARE(apr_status_t) apr_md4(unsigned char digest[APR_MD4_DIGESTSIZE],
- const unsigned char *input,
- apr_size_t inputLen);
-
-/** @} */
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !APR_MD4_H */
diff --git a/rubbos/app/apache2/include/apr_md5.h b/rubbos/app/apache2/include/apr_md5.h
deleted file mode 100644
index 83b6171a..00000000
--- a/rubbos/app/apache2/include/apr_md5.h
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * This is work is derived from material Copyright RSA Data Security, Inc.
- *
- * The RSA copyright statement and Licence for that original material is
- * included below. This is followed by the Apache copyright statement and
- * licence for the modifications made to that material.
- */
-
-/* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
- rights reserved.
-
- License to copy and use this software is granted provided that it
- is identified as the "RSA Data Security, Inc. MD5 Message-Digest
- Algorithm" in all material mentioning or referencing this software
- or this function.
-
- License is also granted to make and use derivative works provided
- that such works are identified as "derived from the RSA Data
- Security, Inc. MD5 Message-Digest Algorithm" in all material
- mentioning or referencing the derived work.
-
- RSA Data Security, Inc. makes no representations concerning either
- the merchantability of this software or the suitability of this
- software for any particular purpose. It is provided "as is"
- without express or implied warranty of any kind.
-
- These notices must be retained in any copies of any part of this
- documentation and/or software.
- */
-
-/* Copyright 2000-2005 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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 APR_MD5_H
-#define APR_MD5_H
-
-#include "apu.h"
-#include "apr_xlate.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-/**
- * @file apr_md5.h
- * @brief APR MD5 Routines
- */
-
-/**
- * @defgroup APR_MD5 MD5 Routines
- * @ingroup APR
- * @{
- */
-
-/** The MD5 digest size */
-#define APR_MD5_DIGESTSIZE 16
-#define MD5_DIGESTSIZE APR_MD5_DIGESTSIZE /**< @deprecated */
-
-/** @see apr_md5_ctx_t */
-typedef struct apr_md5_ctx_t apr_md5_ctx_t;
-
-/** MD5 context. */
-struct apr_md5_ctx_t {
- /** state (ABCD) */
- apr_uint32_t state[4];
- /** number of bits, modulo 2^64 (lsb first) */
- apr_uint32_t count[2];
- /** input buffer */
- unsigned char buffer[64];
- /** translation handle
- * ignored if xlate is unsupported
- */
- apr_xlate_t *xlate;
-};
-
-/**
- * MD5 Initialize. Begins an MD5 operation, writing a new context.
- * @param context The MD5 context to initialize.
- */
-APU_DECLARE(apr_status_t) apr_md5_init(apr_md5_ctx_t *context);
-
-/**
- * MD5 translation setup. Provides the APR translation handle to be used
- * for translating the content before calculating the digest.
- * @param context The MD5 content to set the translation for.
- * @param xlate The translation handle to use for this MD5 context
- */
-APU_DECLARE(apr_status_t) apr_md5_set_xlate(apr_md5_ctx_t *context,
- apr_xlate_t *xlate);
-
-/**
- * MD5 block update operation. Continue an MD5 message-digest operation,
- * processing another message block, and updating the context.
- * @param context The MD5 content to update.
- * @param input next message block to update
- * @param inputLen The length of the next message block
- */
-APU_DECLARE(apr_status_t) apr_md5_update(apr_md5_ctx_t *context,
- const void *input,
- apr_size_t inputLen);
-
-/**
- * MD5 finalization. Ends an MD5 message-digest operation, writing the
- * message digest and zeroing the context
- * @param digest The final MD5 digest
- * @param context The MD5 content we are finalizing.
- */
-APU_DECLARE(apr_status_t) apr_md5_final(unsigned char digest[APR_MD5_DIGESTSIZE],
- apr_md5_ctx_t *context);
-
-/**
- * MD5 in one step
- * @param digest The final MD5 digest
- * @param input The message block to use
- * @param inputLen The length of the message block
- */
-APU_DECLARE(apr_status_t) apr_md5(unsigned char digest[APR_MD5_DIGESTSIZE],
- const void *input,
- apr_size_t inputLen);
-
-/**
- * Encode a password using an MD5 algorithm
- * @param password The password to encode
- * @param salt The salt to use for the encoding
- * @param result The string to store the encoded password in
- * @param nbytes The length of the string
- */
-APU_DECLARE(apr_status_t) apr_md5_encode(const char *password, const char *salt,
- char *result, apr_size_t nbytes);
-
-
-/**
- * Validate any password encypted with any algorithm that APR understands
- * @param passwd The password to validate
- * @param hash The password to validate against
- */
-APU_DECLARE(apr_status_t) apr_password_validate(const char *passwd,
- const char *hash);
-
-
-/** @} */
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !APR_MD5_H */
diff --git a/rubbos/app/apache2/include/apr_mmap.h b/rubbos/app/apache2/include/apr_mmap.h
deleted file mode 100644
index 3070acca..00000000
--- a/rubbos/app/apache2/include/apr_mmap.h
+++ /dev/null
@@ -1,193 +0,0 @@
-/* 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 APR_MMAP_H
-#define APR_MMAP_H
-
-/**
- * @file apr_mmap.h
- * @brief APR MMAP routines
- */
-
-#include "apr.h"
-#include "apr_pools.h"
-#include "apr_errno.h"
-#include "apr_ring.h"
-#include "apr_file_io.h" /* for apr_file_t */
-
-#ifdef BEOS
-#include <kernel/OS.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @defgroup apr_mmap MMAP (Memory Map) Routines
- * @ingroup APR
- * @{
- */
-
-/** MMap opened for reading */
-#define APR_MMAP_READ 1
-/** MMap opened for writing */
-#define APR_MMAP_WRITE 2
-
-/** @see apr_mmap_t */
-typedef struct apr_mmap_t apr_mmap_t;
-
-/**
- * @remark
- * As far as I can tell the only really sane way to store an MMAP is as a
- * void * and a length. BeOS requires this area_id, but that's just a little
- * something extra. I am exposing this type, because it doesn't make much
- * sense to keep it private, and opening it up makes some stuff easier in
- * Apache.
- */
-/** The MMAP structure */
-struct apr_mmap_t {
- /** The pool the mmap structure was allocated out of. */
- apr_pool_t *cntxt;
-#ifdef BEOS
- /** An area ID. Only valid on BeOS */
- area_id area;
-#endif
-#ifdef WIN32
- /** The handle of the file mapping */
- HANDLE mhandle;
- /** The start of the real memory page area (mapped view) */
- void *mv;
- /** The physical start, size and offset */
- apr_off_t pstart;
- apr_size_t psize;
- apr_off_t poffset;
-#endif
- /** The start of the memory mapped area */
- void *mm;
- /** The amount of data in the mmap */
- apr_size_t size;
- /** @deprecated this field is no longer used and will be removed
- * in APR 1.0 */
- int unused;
- /** ring of apr_mmap_t's that reference the same
- * mmap'ed region; acts in place of a reference count */
- APR_RING_ENTRY(apr_mmap_t) link;
-};
-
-#if APR_HAS_MMAP || defined(DOXYGEN)
-
-/** @def APR_MMAP_THRESHOLD
- * Files have to be at least this big before they're mmap()d. This is to deal
- * with systems where the expense of doing an mmap() and an munmap() outweighs
- * the benefit for small files. It shouldn't be set lower than 1.
- */
-#ifdef MMAP_THRESHOLD
-# define APR_MMAP_THRESHOLD MMAP_THRESHOLD
-#else
-# ifdef SUNOS4
-# define APR_MMAP_THRESHOLD (8*1024)
-# else
-# define APR_MMAP_THRESHOLD 1
-# endif /* SUNOS4 */
-#endif /* MMAP_THRESHOLD */
-
-/** @def APR_MMAP_LIMIT
- * Maximum size of MMap region
- */
-#ifdef MMAP_LIMIT
-# define APR_MMAP_LIMIT MMAP_LIMIT
-#else
-# define APR_MMAP_LIMIT (4*1024*1024)
-#endif /* MMAP_LIMIT */
-
-/** Can this file be MMaped */
-#define APR_MMAP_CANDIDATE(filelength) \
- ((filelength >= APR_MMAP_THRESHOLD) && (filelength < APR_MMAP_LIMIT))
-
-/* Function definitions */
-
-/**
- * Create a new mmap'ed file out of an existing APR file.
- * @param newmmap The newly created mmap'ed file.
- * @param file The file turn into an mmap.
- * @param offset The offset into the file to start the data pointer at.
- * @param size The size of the file
- * @param flag bit-wise or of:
- * <PRE>
- * APR_MMAP_READ MMap opened for reading
- * APR_MMAP_WRITE MMap opened for writing
- * </PRE>
- * @param cntxt The pool to use when creating the mmap.
- */
-APR_DECLARE(apr_status_t) apr_mmap_create(apr_mmap_t **newmmap,
- apr_file_t *file, apr_off_t offset,
- apr_size_t size, apr_int32_t flag,
- apr_pool_t *cntxt);
-
-/**
- * Duplicate the specified MMAP.
- * @param new_mmap The structure to duplicate into.
- * @param old_mmap The mmap to duplicate.
- * @param p The pool to use for new_mmap.
- * @param transfer_ownership DEPRECATED: this param is now ignored
- * and should be removed prior to APR 1.0
- */
-APR_DECLARE(apr_status_t) apr_mmap_dup(apr_mmap_t **new_mmap,
- apr_mmap_t *old_mmap,
- apr_pool_t *p,
- int transfer_ownership);
-
-#if defined(DOXYGEN)
-/**
- * Transfer the specified MMAP to a different pool
- * @param new_mmap The structure to duplicate into.
- * @param old_mmap The file to transfer.
- * @param p The pool to use for new_mmap.
- * @deprecated Just use apr_mmap_dup(). The transfer_ownership flag will
- * go away soon anyway.
- */
-APR_DECLARE(apr_status_t) apr_mmap_setaside(apr_mmap_t **new_mmap,
- apr_mmap_t *old_mmap,
- apr_pool_t *p);
-#else
-#define apr_mmap_setaside(new_mmap, old_mmap, p) apr_mmap_dup(new_mmap, old_mmap, p, 1)
-#endif /* DOXYGEN */
-
-/**
- * Remove a mmap'ed.
- * @param mm The mmap'ed file.
- */
-APR_DECLARE(apr_status_t) apr_mmap_delete(apr_mmap_t *mm);
-
-/**
- * Move the pointer into the mmap'ed file to the specified offset.
- * @param addr The pointer to the offset specified.
- * @param mm The mmap'ed file.
- * @param offset The offset to move to.
- */
-APR_DECLARE(apr_status_t) apr_mmap_offset(void **addr, apr_mmap_t *mm,
- apr_off_t offset);
-
-#endif /* APR_HAS_MMAP */
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ! APR_MMAP_H */
diff --git a/rubbos/app/apache2/include/apr_network_io.h b/rubbos/app/apache2/include/apr_network_io.h
deleted file mode 100644
index 2bc6ef1e..00000000
--- a/rubbos/app/apache2/include/apr_network_io.h
+++ /dev/null
@@ -1,845 +0,0 @@
-/* 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 APR_NETWORK_IO_H
-#define APR_NETWORK_IO_H
-/**
- * @file apr_network_io.h
- * @brief APR Network library
- */
-
-#include "apr.h"
-#include "apr_pools.h"
-#include "apr_file_io.h"
-#include "apr_errno.h"
-#include "apr_inherit.h"
-
-#if APR_HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @defgroup apr_network_io Network Routines
- * @ingroup APR
- * @{
- */
-
-#ifndef APR_MAX_SECS_TO_LINGER
-/** Maximum seconds to linger */
-#define APR_MAX_SECS_TO_LINGER 30
-#endif
-
-#ifndef MAX_SECS_TO_LINGER
-/** @deprecated @see APR_MAX_SECS_TO_LINGER */
-#define MAX_SECS_TO_LINGER APR_MAX_SECS_TO_LINGER
-#endif
-
-#ifndef APRMAXHOSTLEN
-/** Maximum hostname length */
-#define APRMAXHOSTLEN 256
-#endif
-
-#ifndef APR_ANYADDR
-/** Default 'any' address */
-#define APR_ANYADDR "0.0.0.0"
-#endif
-
-/**
- * @defgroup apr_sockopt Socket option definitions
- * @{
- */
-#define APR_SO_LINGER 1 /**< Linger */
-#define APR_SO_KEEPALIVE 2 /**< Keepalive */
-#define APR_SO_DEBUG 4 /**< Debug */
-#define APR_SO_NONBLOCK 8 /**< Non-blocking IO */
-#define APR_SO_REUSEADDR 16 /**< Reuse addresses */
-#define APR_SO_TIMEOUT 32 /**< Timeout */
-#define APR_SO_SNDBUF 64 /**< Send buffer */
-#define APR_SO_RCVBUF 128 /**< Receive buffer */
-#define APR_SO_DISCONNECTED 256 /**< Disconnected */
-#define APR_TCP_NODELAY 512 /**< For SCTP sockets, this is mapped
- * to STCP_NODELAY internally.
- */
-#define APR_TCP_NOPUSH 1024 /**< No push */
-#define APR_RESET_NODELAY 2048 /**< This flag is ONLY set internally
- * when we set APR_TCP_NOPUSH with
- * APR_TCP_NODELAY set to tell us that
- * APR_TCP_NODELAY should be turned on
- * again when NOPUSH is turned off
- */
-#define APR_INCOMPLETE_READ 4096 /**< Set on non-blocking sockets
- * (timeout != 0) on which the
- * previous read() did not fill a buffer
- * completely. the next apr_socket_recv()
- * will first call select()/poll() rather than
- * going straight into read(). (Can also
- * be set by an application to force a
- * select()/poll() call before the next
- * read, in cases where the app expects
- * that an immediate read would fail.)
- */
-#define APR_INCOMPLETE_WRITE 8192 /**< like APR_INCOMPLETE_READ, but for write
- * @see APR_INCOMPLETE_READ
- */
-#define APR_IPV6_V6ONLY 16384 /**< Don't accept IPv4 connections on an
- * IPv6 listening socket.
- */
-
-/** @} */
-
-/** Define what type of socket shutdown should occur. */
-typedef enum {
- APR_SHUTDOWN_READ, /**< no longer allow read request */
- APR_SHUTDOWN_WRITE, /**< no longer allow write requests */
- APR_SHUTDOWN_READWRITE /**< no longer allow read or write requests */
-} apr_shutdown_how_e;
-
-#define APR_IPV4_ADDR_OK 0x01 /**< @see apr_sockaddr_info_get() */
-#define APR_IPV6_ADDR_OK 0x02 /**< @see apr_sockaddr_info_get() */
-
-#if (!APR_HAVE_IN_ADDR)
-/**
- * We need to make sure we always have an in_addr type, so APR will just
- * define it ourselves, if the platform doesn't provide it.
- */
-struct in_addr {
- apr_uint32_t s_addr; /**< storage to hold the IP# */
-};
-#endif
-
-/**
- * @def APR_INET
- * Not all platforms have these defined, so we'll define them here
- * The default values come from FreeBSD 4.1.1
- */
-#define APR_INET AF_INET
-/** @def APR_UNSPEC
- * Let the system decide which address family to use
- */
-#ifdef AF_UNSPEC
-#define APR_UNSPEC AF_UNSPEC
-#else
-#define APR_UNSPEC 0
-#endif
-#if APR_HAVE_IPV6
-#define APR_INET6 AF_INET6
-#endif
-
-/**
- * @defgroup IP_Proto IP Protocol Definitions for use when creating sockets
- * @{
- */
-#define APR_PROTO_TCP 6 /**< TCP */
-#define APR_PROTO_UDP 17 /**< UDP */
-#define APR_PROTO_SCTP 132 /**< SCTP */
-/** @} */
-
-/**
- * Enum to tell us if we're interested in remote or local socket
- */
-typedef enum {
- APR_LOCAL,
- APR_REMOTE
-} apr_interface_e;
-
-/**
- * The specific declaration of inet_addr's ... some platforms fall back
- * inet_network (this is not good, but necessary)
- */
-
-#if APR_HAVE_INET_ADDR
-#define apr_inet_addr inet_addr
-#elif APR_HAVE_INET_NETWORK /* only DGUX, as far as I know */
-/**
- * @warning
- * not generally safe... inet_network() and inet_addr() perform
- * different functions */
-#define apr_inet_addr inet_network
-#endif
-
-/** A structure to represent sockets */
-typedef struct apr_socket_t apr_socket_t;
-/**
- * A structure to encapsulate headers and trailers for apr_socket_sendfile
- */
-typedef struct apr_hdtr_t apr_hdtr_t;
-/** A structure to represent in_addr */
-typedef struct in_addr apr_in_addr_t;
-/** A structure to represent an IP subnet */
-typedef struct apr_ipsubnet_t apr_ipsubnet_t;
-
-/** @remark use apr_uint16_t just in case some system has a short that isn't 16 bits... */
-typedef apr_uint16_t apr_port_t;
-
-/** @remark It's defined here as I think it should all be platform safe...
- * @see apr_sockaddr_t
- */
-typedef struct apr_sockaddr_t apr_sockaddr_t;
-/**
- * APRs socket address type, used to ensure protocol independence
- */
-struct apr_sockaddr_t {
- /** The pool to use... */
- apr_pool_t *pool;
- /** The hostname */
- char *hostname;
- /** Either a string of the port number or the service name for the port */
- char *servname;
- /** The numeric port */
- apr_port_t port;
- /** The family */
- apr_int32_t family;
- /** Union of either IPv4 or IPv6 sockaddr. */
- union {
- /** IPv4 sockaddr structure */
- struct sockaddr_in sin;
-#if APR_HAVE_IPV6
- /** IPv6 sockaddr structure */
- struct sockaddr_in6 sin6;
-#endif
- } sa;
- /** How big is the sockaddr we're using? */
- apr_socklen_t salen;
- /** How big is the ip address structure we're using? */
- int ipaddr_len;
- /** How big should the address buffer be? 16 for v4 or 46 for v6
- * used in inet_ntop... */
- int addr_str_len;
- /** This points to the IP address structure within the appropriate
- * sockaddr structure. */
- void *ipaddr_ptr;
- /** If multiple addresses were found by apr_sockaddr_info_get(), this
- * points to a representation of the next address. */
- apr_sockaddr_t *next;
-};
-
-#if APR_HAS_SENDFILE
-/**
- * Support reusing the socket on platforms which support it (from disconnect,
- * specifically Win32.
- * @remark Optional flag passed into apr_socket_sendfile()
- */
-#define APR_SENDFILE_DISCONNECT_SOCKET 1
-#endif
-
-/** A structure to encapsulate headers and trailers for apr_socket_sendfile */
-struct apr_hdtr_t {
- /** An iovec to store the headers sent before the file. */
- struct iovec* headers;
- /** number of headers in the iovec */
- int numheaders;
- /** An iovec to store the trailers sent after the file. */
- struct iovec* trailers;
- /** number of trailers in the iovec */
- int numtrailers;
-};
-
-/* function definitions */
-
-/**
- * Create a socket.
- * @remark With APR 1.0, this function follows the prototype
- * of apr_socket_create_ex.
- * @param new_sock The new socket that has been set up.
- * @param family The address family of the socket (e.g., APR_INET).
- * @param type The type of the socket (e.g., SOCK_STREAM).
- * @param cont The pool to use
- */
-APR_DECLARE(apr_status_t) apr_socket_create(apr_socket_t **new_sock,
- int family, int type,
- apr_pool_t *cont);
-
-/**
- * Create a socket.
- * @remark With APR 1.0, this function is deprecated and apr_socket_create
- * follows this prototype.
- * @param new_sock The new socket that has been set up.
- * @param family The address family of the socket (e.g., APR_INET).
- * @param type The type of the socket (e.g., SOCK_STREAM).
- * @param protocol The protocol of the socket (e.g., APR_PROTO_TCP).
- * @param cont The pool to use
- */
-APR_DECLARE(apr_status_t) apr_socket_create_ex(apr_socket_t **new_sock,
- int family, int type,
- int protocol,
- apr_pool_t *cont);
-
-/**
- * Shutdown either reading, writing, or both sides of a socket.
- * @param thesocket The socket to close
- * @param how How to shutdown the socket. One of:
- * <PRE>
- * APR_SHUTDOWN_READ no longer allow read requests
- * APR_SHUTDOWN_WRITE no longer allow write requests
- * APR_SHUTDOWN_READWRITE no longer allow read or write requests
- * </PRE>
- * @see apr_shutdown_how_e
- * @remark This does not actually close the socket descriptor, it just
- * controls which calls are still valid on the socket.
- */
-APR_DECLARE(apr_status_t) apr_socket_shutdown(apr_socket_t *thesocket,
- apr_shutdown_how_e how);
-
-/** @deprecated @see apr_socket_shutdown */
-APR_DECLARE(apr_status_t) apr_shutdown(apr_socket_t *thesocket,
- apr_shutdown_how_e how);
-
-/**
- * Close a socket.
- * @param thesocket The socket to close
- */
-APR_DECLARE(apr_status_t) apr_socket_close(apr_socket_t *thesocket);
-
-/**
- * Bind the socket to its associated port
- * @param sock The socket to bind
- * @param sa The socket address to bind to
- * @remark This may be where we will find out if there is any other process
- * using the selected port.
- */
-APR_DECLARE(apr_status_t) apr_socket_bind(apr_socket_t *sock,
- apr_sockaddr_t *sa);
-
-/** @deprecated @see apr_socket_bind */
-APR_DECLARE(apr_status_t) apr_bind(apr_socket_t *sock, apr_sockaddr_t *sa);
-
-/**
- * Listen to a bound socket for connections.
- * @param sock The socket to listen on
- * @param backlog The number of outstanding connections allowed in the sockets
- * listen queue. If this value is less than zero, the listen
- * queue size is set to zero.
- */
-APR_DECLARE(apr_status_t) apr_socket_listen(apr_socket_t *sock,
- apr_int32_t backlog);
-
-/** @deprecated @see apr_socket_listen */
-APR_DECLARE(apr_status_t) apr_listen(apr_socket_t *sock, apr_int32_t backlog);
-
-/**
- * Accept a new connection request
- * @param new_sock A copy of the socket that is connected to the socket that
- * made the connection request. This is the socket which should
- * be used for all future communication.
- * @param sock The socket we are listening on.
- * @param connection_pool The pool for the new socket.
- */
-APR_DECLARE(apr_status_t) apr_socket_accept(apr_socket_t **new_sock,
- apr_socket_t *sock,
- apr_pool_t *connection_pool);
-
-/** @deprecated @see apr_socket_accept */
-APR_DECLARE(apr_status_t) apr_accept(apr_socket_t **new_sock,
- apr_socket_t *sock,
- apr_pool_t *connection_pool);
-
-/**
- * Issue a connection request to a socket either on the same machine
- * or a different one.
- * @param sock The socket we wish to use for our side of the connection
- * @param sa The address of the machine we wish to connect to. If NULL,
- * APR assumes that the sockaddr_in in the apr_socket is
- * completely filled out.
- */
-APR_DECLARE(apr_status_t) apr_socket_connect(apr_socket_t *sock,
- apr_sockaddr_t *sa);
-
-/** @deprecated @see apr_socket_connect */
-APR_DECLARE(apr_status_t) apr_connect(apr_socket_t *sock, apr_sockaddr_t *sa);
-
-/**
- * Create apr_sockaddr_t from hostname, address family, and port.
- * @param sa The new apr_sockaddr_t.
- * @param hostname The hostname or numeric address string to resolve/parse, or
- * NULL to build an address that corresponds to 0.0.0.0 or ::
- * @param family The address family to use, or APR_UNSPEC if the system should
- * decide.
- * @param port The port number.
- * @param flags Special processing flags:
- * <PRE>
- * APR_IPV4_ADDR_OK first query for IPv4 addresses; only look
- * for IPv6 addresses if the first query failed;
- * only valid if family is APR_UNSPEC and hostname
- * isn't NULL; mutually exclusive with
- * APR_IPV6_ADDR_OK
- * APR_IPV6_ADDR_OK first query for IPv6 addresses; only look
- * for IPv4 addresses if the first query failed;
- * only valid if family is APR_UNSPEC and hostname
- * isn't NULL and APR_HAVE_IPV6; mutually exclusive
- * with APR_IPV4_ADDR_OK
- * </PRE>
- * @param p The pool for the apr_sockaddr_t and associated storage.
- */
-APR_DECLARE(apr_status_t) apr_sockaddr_info_get(apr_sockaddr_t **sa,
- const char *hostname,
- apr_int32_t family,
- apr_port_t port,
- apr_int32_t flags,
- apr_pool_t *p);
-
-/**
- * Look up the host name from an apr_sockaddr_t.
- * @param hostname The hostname.
- * @param sa The apr_sockaddr_t.
- * @param flags Special processing flags.
- */
-APR_DECLARE(apr_status_t) apr_getnameinfo(char **hostname,
- apr_sockaddr_t *sa,
- apr_int32_t flags);
-
-/**
- * Parse hostname/IP address with scope id and port.
- *
- * Any of the following strings are accepted:
- * 8080 (just the port number)
- * www.apache.org (just the hostname)
- * www.apache.org:8080 (hostname and port number)
- * [fe80::1]:80 (IPv6 numeric address string only)
- * [fe80::1%eth0] (IPv6 numeric address string and scope id)
- *
- * Invalid strings:
- * (empty string)
- * [abc] (not valid IPv6 numeric address string)
- * abc:65536 (invalid port number)
- *
- * @param addr The new buffer containing just the hostname. On output, *addr
- * will be NULL if no hostname/IP address was specfied.
- * @param scope_id The new buffer containing just the scope id. On output,
- * *scope_id will be NULL if no scope id was specified.
- * @param port The port number. On output, *port will be 0 if no port was
- * specified.
- * ### FIXME: 0 is a legal port (per RFC 1700). this should
- * ### return something besides zero if the port is missing.
- * @param str The input string to be parsed.
- * @param p The pool from which *addr and *scope_id are allocated.
- * @remark If scope id shouldn't be allowed, check for scope_id != NULL in
- * addition to checking the return code. If addr/hostname should be
- * required, check for addr == NULL in addition to checking the
- * return code.
- */
-APR_DECLARE(apr_status_t) apr_parse_addr_port(char **addr,
- char **scope_id,
- apr_port_t *port,
- const char *str,
- apr_pool_t *p);
-
-/**
- * Get name of the current machine
- * @param buf A buffer to store the hostname in.
- * @param len The maximum length of the hostname that can be stored in the
- * buffer provided. The suggested length is APRMAXHOSTLEN + 1.
- * @param cont The pool to use.
- * @remark If the buffer was not large enough, an error will be returned.
- */
-APR_DECLARE(apr_status_t) apr_gethostname(char *buf, int len, apr_pool_t *cont);
-
-/**
- * Return the data associated with the current socket
- * @param data The user data associated with the socket.
- * @param key The key to associate with the user data.
- * @param sock The currently open socket.
- */
-APR_DECLARE(apr_status_t) apr_socket_data_get(void **data, const char *key,
- apr_socket_t *sock);
-
-/**
- * Set the data associated with the current socket.
- * @param sock The currently open socket.
- * @param data The user data to associate with the socket.
- * @param key The key to associate with the data.
- * @param cleanup The cleanup to call when the socket is destroyed.
- */
-APR_DECLARE(apr_status_t) apr_socket_data_set(apr_socket_t *sock, void *data,
- const char *key,
- apr_status_t (*cleanup)(void*));
-
-/**
- * Send data over a network.
- * @param sock The socket to send the data over.
- * @param buf The buffer which contains the data to be sent.
- * @param len On entry, the number of bytes to send; on exit, the number
- * of bytes sent.
- * @remark
- * <PRE>
- * This functions acts like a blocking write by default. To change
- * this behavior, use apr_socket_timeout_set().
- *
- * It is possible for both bytes to be sent and an error to be returned.
- *
- * APR_EINTR is never returned.
- * </PRE>
- */
-APR_DECLARE(apr_status_t) apr_socket_send(apr_socket_t *sock, const char *buf,
- apr_size_t *len);
-
-/** @deprecated @see apr_socket_send */
-APR_DECLARE(apr_status_t) apr_send(apr_socket_t *sock, const char *buf,
- apr_size_t *len);
-
-/**
- * Send multiple packets of data over a network.
- * @param sock The socket to send the data over.
- * @param vec The array of iovec structs containing the data to send
- * @param nvec The number of iovec structs in the array
- * @param len Receives the number of bytes actually written
- * @remark
- * <PRE>
- * This functions acts like a blocking write by default. To change
- * this behavior, use apr_socket_timeout_set().
- * The number of bytes actually sent is stored in argument 3.
- *
- * It is possible for both bytes to be sent and an error to be returned.
- *
- * APR_EINTR is never returned.
- * </PRE>
- */
-APR_DECLARE(apr_status_t) apr_socket_sendv(apr_socket_t *sock,
- const struct iovec *vec,
- apr_int32_t nvec, apr_size_t *len);
-
-/** @deprecated @see apr_socket_sendv */
-APR_DECLARE(apr_status_t) apr_sendv(apr_socket_t *sock,
- const struct iovec *vec,
- apr_int32_t nvec, apr_size_t *len);
-
-/**
- * @param sock The socket to send from
- * @param where The apr_sockaddr_t describing where to send the data
- * @param flags The flags to use
- * @param buf The data to send
- * @param len The length of the data to send
- */
-APR_DECLARE(apr_status_t) apr_socket_sendto(apr_socket_t *sock,
- apr_sockaddr_t *where,
- apr_int32_t flags, const char *buf,
- apr_size_t *len);
-
-/** @deprecated @see apr_socket_sendto */
-APR_DECLARE(apr_status_t) apr_sendto(apr_socket_t *sock, apr_sockaddr_t *where,
- apr_int32_t flags, const char *buf,
- apr_size_t *len);
-
-/**
- * @param from The apr_sockaddr_t to fill in the recipient info
- * @param sock The socket to use
- * @param flags The flags to use
- * @param buf The buffer to use
- * @param len The length of the available buffer
- */
-
-APR_DECLARE(apr_status_t) apr_socket_recvfrom(apr_sockaddr_t *from,
- apr_socket_t *sock,
- apr_int32_t flags, char *buf,
- apr_size_t *len);
-
-/** @deprecated @see apr_socket_recvfrom */
-APR_DECLARE(apr_status_t) apr_recvfrom(apr_sockaddr_t *from, apr_socket_t *sock,
- apr_int32_t flags, char *buf,
- apr_size_t *len);
-
-#if APR_HAS_SENDFILE || defined(DOXYGEN)
-
-/**
- * Send a file from an open file descriptor to a socket, along with
- * optional headers and trailers
- * @param sock The socket to which we're writing
- * @param file The open file from which to read
- * @param hdtr A structure containing the headers and trailers to send
- * @param offset Offset into the file where we should begin writing
- * @param len (input) - Number of bytes to send from the file
- * (output) - Number of bytes actually sent,
- * including headers, file, and trailers
- * @param flags APR flags that are mapped to OS specific flags
- * @remark This functions acts like a blocking write by default. To change
- * this behavior, use apr_socket_timeout_set().
- * The number of bytes actually sent is stored in argument 5.
- */
-APR_DECLARE(apr_status_t) apr_socket_sendfile(apr_socket_t *sock,
- apr_file_t *file,
- apr_hdtr_t *hdtr,
- apr_off_t *offset,
- apr_size_t *len,
- apr_int32_t flags);
-
-/** @deprecated @see apr_socket_sendfile */
-APR_DECLARE(apr_status_t) apr_sendfile(apr_socket_t *sock, apr_file_t *file,
- apr_hdtr_t *hdtr, apr_off_t *offset,
- apr_size_t *len, apr_int32_t flags);
-
-#endif /* APR_HAS_SENDFILE */
-
-/**
- * Read data from a network.
- * @param sock The socket to read the data from.
- * @param buf The buffer to store the data in.
- * @param len On entry, the number of bytes to receive; on exit, the number
- * of bytes received.
- * @remark
- * <PRE>
- * This functions acts like a blocking read by default. To change
- * this behavior, use apr_socket_timeout_set().
- * The number of bytes actually sent is stored in argument 3.
- *
- * It is possible for both bytes to be received and an APR_EOF or
- * other error to be returned.
- *
- * APR_EINTR is never returned.
- * </PRE>
- */
-APR_DECLARE(apr_status_t) apr_socket_recv(apr_socket_t *sock,
- char *buf, apr_size_t *len);
-
-/** @deprecated @see apr_socket_recv */
-APR_DECLARE(apr_status_t) apr_recv(apr_socket_t *sock,
- char *buf, apr_size_t *len);
-
-/**
- * Setup socket options for the specified socket
- * @param sock The socket to set up.
- * @param opt The option we would like to configure. One of:
- * <PRE>
- * APR_SO_DEBUG -- turn on debugging information
- * APR_SO_KEEPALIVE -- keep connections active
- * APR_SO_LINGER -- lingers on close if data is present
- * APR_SO_NONBLOCK -- Turns blocking on/off for socket
- * APR_SO_REUSEADDR -- The rules used in validating addresses
- * supplied to bind should allow reuse
- * of local addresses.
- * APR_SO_SNDBUF -- Set the SendBufferSize
- * APR_SO_RCVBUF -- Set the ReceiveBufferSize
- * </PRE>
- * @param on Value for the option.
- */
-APR_DECLARE(apr_status_t) apr_socket_opt_set(apr_socket_t *sock,
- apr_int32_t opt, apr_int32_t on);
-
-/** @deprecated @see apr_socket_opt_set */
-APR_DECLARE(apr_status_t) apr_setsocketopt(apr_socket_t *sock,
- apr_int32_t opt, apr_int32_t on);
-
-/**
- * Setup socket timeout for the specified socket
- * @param sock The socket to set up.
- * @param t Value for the timeout.
- * <PRE>
- * t > 0 -- read and write calls return APR_TIMEUP if specified time
- * elapsess with no data read or written
- * t == 0 -- read and write calls never block
- * t < 0 -- read and write calls block
- * </PRE>
- */
-APR_DECLARE(apr_status_t) apr_socket_timeout_set(apr_socket_t *sock,
- apr_interval_time_t t);
-
-/**
- * Query socket options for the specified socket
- * @param sock The socket to query
- * @param opt The option we would like to query. One of:
- * <PRE>
- * APR_SO_DEBUG -- turn on debugging information
- * APR_SO_KEEPALIVE -- keep connections active
- * APR_SO_LINGER -- lingers on close if data is present
- * APR_SO_NONBLOCK -- Turns blocking on/off for socket
- * APR_SO_REUSEADDR -- The rules used in validating addresses
- * supplied to bind should allow reuse
- * of local addresses.
- * APR_SO_SNDBUF -- Set the SendBufferSize
- * APR_SO_RCVBUF -- Set the ReceiveBufferSize
- * APR_SO_DISCONNECTED -- Query the disconnected state of the socket.
- * (Currently only used on Windows)
- * </PRE>
- * @param on Socket option returned on the call.
- */
-APR_DECLARE(apr_status_t) apr_socket_opt_get(apr_socket_t *sock,
- apr_int32_t opt, apr_int32_t *on);
-
-/** @deprecated @see apr_socket_opt_set */
-APR_DECLARE(apr_status_t) apr_getsocketopt(apr_socket_t *sock,
- apr_int32_t opt, apr_int32_t *on);
-
-/**
- * Query socket timeout for the specified socket
- * @param sock The socket to query
- * @param t Socket timeout returned from the query.
- */
-APR_DECLARE(apr_status_t) apr_socket_timeout_get(apr_socket_t *sock,
- apr_interval_time_t *t);
-
-/**
- * Query the specified socket if at the OOB/Urgent data mark
- * @param sock The socket to query
- * @param atmark Is set to true if socket is at the OOB/urgent mark,
- * otherwise is set to false.
- */
-APR_DECLARE(apr_status_t) apr_socket_atmark(apr_socket_t *sock,
- int *atmark);
-
-/**
- * Return an apr_sockaddr_t from an apr_socket_t
- * @param sa The returned apr_sockaddr_t.
- * @param which Which interface do we want the apr_sockaddr_t for?
- * @param sock The socket to use
- */
-APR_DECLARE(apr_status_t) apr_socket_addr_get(apr_sockaddr_t **sa,
- apr_interface_e which,
- apr_socket_t *sock);
-
-/**
- * Set the port in an APR socket address.
- * @param sockaddr The socket address to set.
- * @param port The port to be stored in the socket address.
- * @deprecated @see apr_sockaddr_info_get
- */
-APR_DECLARE(apr_status_t) apr_sockaddr_port_set(apr_sockaddr_t *sockaddr,
- apr_port_t port);
-
-/**
- * Return the port in an APR socket address.
- * @param port The port from the socket address.
- * @param sockaddr The socket address to reference.
- * @deprecated Access port field directly.
- */
-APR_DECLARE(apr_status_t) apr_sockaddr_port_get(apr_port_t *port,
- apr_sockaddr_t *sockaddr);
-
-/**
- * Set the IP address in an APR socket address.
- * @param sockaddr The socket address to use
- * @param addr The IP address to attach to the socket.
- * Use APR_ANYADDR to use any IP addr on the machine.
- * @deprecated @see apr_sockaddr_info_get
- */
-APR_DECLARE(apr_status_t) apr_sockaddr_ip_set(apr_sockaddr_t *sockaddr,
- const char *addr);
-
-/**
- * Return the IP address (in numeric address string format) in
- * an APR socket address. APR will allocate storage for the IP address
- * string from the pool of the apr_sockaddr_t.
- * @param addr The IP address.
- * @param sockaddr The socket address to reference.
- */
-APR_DECLARE(apr_status_t) apr_sockaddr_ip_get(char **addr,
- apr_sockaddr_t *sockaddr);
-
-/**
- * See if the IP addresses in two APR socket addresses are
- * equivalent. Appropriate logic is present for comparing
- * IPv4-mapped IPv6 addresses with IPv4 addresses.
- *
- * @param addr1 One of the APR socket addresses.
- * @param addr2 The other APR socket address.
- * @remark The return value will be non-zero if the addresses
- * are equivalent.
- */
-APR_DECLARE(int) apr_sockaddr_equal(const apr_sockaddr_t *addr1,
- const apr_sockaddr_t *addr2);
-
-
-#if APR_FILES_AS_SOCKETS || defined(DOXYGEN)
-
-/**
- * Convert a File type to a socket so that it can be used in a poll operation.
- * @param newsock the newly created socket which represents a file.
- * @param file the file to mask as a socket.
- * @warning This is not available on all platforms. Platforms that have the
- * ability to poll files for data to be read/written/exceptions will
- * have the APR_FILES_AS_SOCKETS macro defined as true.
- * @deprecated This function has been deprecated, because of the new poll
- * implementation.
- */
-APR_DECLARE(apr_status_t) apr_socket_from_file(apr_socket_t **newsock,
- apr_file_t *file);
-
-#endif /* APR_FILES_AS_SOCKETS */
-
-/**
- * Given an apr_sockaddr_t and a service name, set the port for the service
- * @param sockaddr The apr_sockaddr_t that will have its port set
- * @param servname The name of the service you wish to use
- */
-APR_DECLARE(apr_status_t) apr_getservbyname(apr_sockaddr_t *sockaddr,
- const char *servname);
-/**
- * Build an ip-subnet representation from an IP address and optional netmask or
- * number-of-bits.
- * @param ipsub The new ip-subnet representation
- * @param ipstr The input IP address string
- * @param mask_or_numbits The input netmask or number-of-bits string, or NULL
- * @param p The pool to allocate from
- */
-APR_DECLARE(apr_status_t) apr_ipsubnet_create(apr_ipsubnet_t **ipsub,
- const char *ipstr,
- const char *mask_or_numbits,
- apr_pool_t *p);
-
-/**
- * Test the IP address in an apr_sockaddr_t against a pre-built ip-subnet
- * representation.
- * @param ipsub The ip-subnet representation
- * @param sa The socket address to test
- * @return non-zero if the socket address is within the subnet, 0 otherwise
- */
-APR_DECLARE(int) apr_ipsubnet_test(apr_ipsubnet_t *ipsub, apr_sockaddr_t *sa);
-
-#if APR_HAS_SO_ACCEPTFILTER || defined(DOXYGEN)
-/**
- * Set an OS level accept filter.
- * @param sock The socket to put the accept filter on.
- * @param name The accept filter
- * @param args Any extra args to the accept filter. Passing NULL here removes
- * the accept filter.
- */
-apr_status_t apr_socket_accept_filter(apr_socket_t *sock, char *name,
- char *args);
-#endif
-
-/**
- * Return the protocol of the socket.
- * @param sock The socket to query.
- * @param protocol The returned protocol (e.g., APR_PROTO_TCP).
- */
-APR_DECLARE(apr_status_t) apr_socket_protocol_get(apr_socket_t *sock,
- int *protocol);
-
-/**
- * Set a socket to be inherited by child processes.
- */
-APR_DECLARE_INHERIT_SET(socket);
-
-/** @deprecated @see apr_socket_inherit_set */
-APR_DECLARE(void) apr_socket_set_inherit(apr_socket_t *skt);
-
-/**
- * Unset a socket from being inherited by child processes.
- */
-APR_DECLARE_INHERIT_UNSET(socket);
-
-/** @deprecated @see apr_socket_inherit_unset */
-APR_DECLARE(void) apr_socket_unset_inherit(apr_socket_t *skt);
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ! APR_NETWORK_IO_H */
-
diff --git a/rubbos/app/apache2/include/apr_optional.h b/rubbos/app/apache2/include/apr_optional.h
deleted file mode 100644
index 32e2ac3c..00000000
--- a/rubbos/app/apache2/include/apr_optional.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/* Copyright 2001-2005 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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 APR_OPTIONAL_H
-#define APR_OPTIONAL_H
-
-#include "apu.h"
-/**
- * @file apr_optional.h
- * @brief APR-UTIL registration of functions exported by modules
- */
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @defgroup APR_Util_Opt Optional Functions
- * @ingroup APR_Util
- *
- * Typesafe registration and retrieval of functions that may not be present
- * (i.e. functions exported by optional modules)
- * @{
- */
-
-/**
- * The type of an optional function.
- * @param name The name of the function
- */
-#define APR_OPTIONAL_FN_TYPE(name) apr_OFN_##name##_t
-
-/**
- * Declare an optional function.
- * @param ret The return type of the function
- * @param name The name of the function
- * @param args The function arguments (including brackets)
- */
-#define APR_DECLARE_OPTIONAL_FN(ret,name,args) \
-typedef ret (APR_OPTIONAL_FN_TYPE(name)) args
-
-/**
- * XXX: This doesn't belong here, then!
- * Private function! DO NOT USE!
- * @internal
- */
-
-typedef void (apr_opt_fn_t)(void);
-/** @internal */
-APU_DECLARE_NONSTD(void) apr_dynamic_fn_register(const char *szName,
- apr_opt_fn_t *pfn);
-
-/** @internal deprecated function, see apr_dynamic_fn_register */
-APU_DECLARE_NONSTD(void) apr_register_optional_fn(const char *szName,
- apr_opt_fn_t *pfn);
-
-/**
- * Register an optional function. This can be later retrieved, type-safely, by
- * name. Like all global functions, the name must be unique. Note that,
- * confusingly but correctly, the function itself can be static!
- * @param name The name of the function
- */
-#define APR_REGISTER_OPTIONAL_FN(name) do { \
- APR_OPTIONAL_FN_TYPE(name) *apu__opt = name; \
- apr_dynamic_fn_register(#name,(apr_opt_fn_t *)apu__opt); \
-} while (0)
-
-/** @internal
- * Private function! DO NOT USE!
- */
-APU_DECLARE(apr_opt_fn_t *) apr_dynamic_fn_retrieve(const char *szName);
-
-/** @internal deprecated function, see apr_dynamic_fn_retrieve */
-APU_DECLARE(apr_opt_fn_t *) apr_retrieve_optional_fn(const char *szName);
-
-/**
- * Retrieve an optional function. Returns NULL if the function is not present.
- * @param name The name of the function
- */
-#define APR_RETRIEVE_OPTIONAL_FN(name) \
- (APR_OPTIONAL_FN_TYPE(name) *)apr_dynamic_fn_retrieve(#name)
-
-/** @} */
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* APR_OPTIONAL_H */
diff --git a/rubbos/app/apache2/include/apr_optional_hooks.h b/rubbos/app/apache2/include/apr_optional_hooks.h
deleted file mode 100644
index 7d01ab00..00000000
--- a/rubbos/app/apache2/include/apr_optional_hooks.h
+++ /dev/null
@@ -1,117 +0,0 @@
-/* Copyright 2000-2005 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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 apr_optional_hooks.h
- * @brief Apache optional hook functions
- */
-
-
-#ifndef APR_OPTIONAL_HOOK_H
-#define APR_OPTIONAL_HOOK_H
-
-#include "apr_tables.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-/**
- * @defgroup APR_Util_OPT_HOOK Optional Hook Functions
- * @ingroup APR_Util_Hook
- * @{
- */
-/**
- * Function to implemnt the APR_OPTIONAL_HOOK Macro
- * @internal
- * @see APR_OPTIONAL_HOOK
- *
- * @param name The name of the hook
- * @param pfn A pointer to a function that will be called
- * @param aszPre a NULL-terminated array of strings that name modules whose hooks should precede this one
- * @param aszSucc a NULL-terminated array of strings that name modules whose hooks should succeed this one
- * @param nOrder an integer determining order before honouring aszPre and aszSucc (for example HOOK_MIDDLE)
- */
-
-
-APU_DECLARE(void) apr_optional_hook_add(const char *szName,void (*pfn)(void),
- const char * const *aszPre,
- const char * const *aszSucc,
- int nOrder);
-
-/**
- * Hook to an optional hook.
- *
- * @param ns The namespace prefix of the hook functions
- * @param name The name of the hook
- * @param pfn A pointer to a function that will be called
- * @param aszPre a NULL-terminated array of strings that name modules whose hooks should precede this one
- * @param aszSucc a NULL-terminated array of strings that name modules whose hooks should succeed this one
- * @param nOrder an integer determining order before honouring aszPre and aszSucc (for example HOOK_MIDDLE)
- */
-
-#define APR_OPTIONAL_HOOK(ns,name,pfn,aszPre,aszSucc,nOrder) do { \
- ns##_HOOK_##name##_t *apu__hook = pfn; \
- apr_optional_hook_add(#name,(void (*)(void))apu__hook,aszPre, aszSucc, nOrder); \
-} while (0)
-
-/**
- * @internal
- * @param szName - the name of the function
- * @return the hook structure for a given hook
- */
-APU_DECLARE(apr_array_header_t *) apr_optional_hook_get(const char *szName);
-
-/**
- * Implement an optional hook that runs until one of the functions
- * returns something other than OK or DECLINE.
- *
- * @param ns The namespace prefix of the hook functions
- * @param link The linkage declaration prefix of the hook
- * @param ret The type of the return value of the hook
- * @param ret The type of the return value of the hook
- * @param name The name of the hook
- * @param args_decl The declaration of the arguments for the hook
- * @param args_use The names for the arguments for the hook
- * @param ok Success value
- * @param decline Decline value
- */
-#define APR_IMPLEMENT_OPTIONAL_HOOK_RUN_ALL(ns,link,ret,name,args_decl,args_use,ok,decline) \
-link##_DECLARE(ret) ns##_run_##name args_decl \
- { \
- ns##_LINK_##name##_t *pHook; \
- int n; \
- ret rv; \
- apr_array_header_t *pHookArray=apr_optional_hook_get(#name); \
-\
- if(!pHookArray) \
- return ok; \
-\
- pHook=(ns##_LINK_##name##_t *)pHookArray->elts; \
- for(n=0 ; n < pHookArray->nelts ; ++n) \
- { \
- rv=(pHook[n].pFunc)args_use; \
-\
- if(rv != ok && rv != decline) \
- return rv; \
- } \
- return ok; \
- }
-
-/** @} */
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* APR_OPTIONAL_HOOK_H */
diff --git a/rubbos/app/apache2/include/apr_poll.h b/rubbos/app/apache2/include/apr_poll.h
deleted file mode 100644
index d71cc3a1..00000000
--- a/rubbos/app/apache2/include/apr_poll.h
+++ /dev/null
@@ -1,253 +0,0 @@
-/* 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 APR_POLL_H
-#define APR_POLL_H
-/**
- * @file apr_poll.h
- * @brief APR Poll interface
- */
-#include "apr.h"
-#include "apr_pools.h"
-#include "apr_errno.h"
-#include "apr_inherit.h"
-#include "apr_file_io.h"
-#include "apr_network_io.h"
-
-#if APR_HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @defgroup apr_poll Poll Routines
- * @ingroup APR
- * @{
- */
-
-/**
- * @defgroup apr_poll_opt Poll options
- * @{
- */
-#define APR_POLLIN 0x001 /**< Can read without blocking */
-#define APR_POLLPRI 0x002 /**< Priority data available */
-#define APR_POLLOUT 0x004 /**< Can write without blocking */
-#define APR_POLLERR 0x010 /**< Pending error */
-#define APR_POLLHUP 0x020 /**< Hangup occurred */
-#define APR_POLLNVAL 0x040 /**< Descriptior invalid */
-/** @} */
-
-/** Used in apr_pollfd_t to determine what the apr_descriptor is */
-typedef enum {
- APR_NO_DESC, /**< nothing here */
- APR_POLL_SOCKET, /**< descriptor refers to a socket */
- APR_POLL_FILE, /**< descriptor refers to a file */
- APR_POLL_LASTDESC /**< descriptor is the last one in the list */
-} apr_datatype_e ;
-
-/** Union of either an APR file or socket. */
-typedef union {
- apr_file_t *f; /**< file */
- apr_socket_t *s; /**< socket */
-} apr_descriptor;
-
-/** @see apr_pollfd_t */
-typedef struct apr_pollfd_t apr_pollfd_t;
-
-/** Poll descriptor set. */
-struct apr_pollfd_t {
- apr_pool_t *p; /**< associated pool */
- apr_datatype_e desc_type; /**< descriptor type */
- apr_int16_t reqevents; /**< requested events */
- apr_int16_t rtnevents; /**< returned events */
- apr_descriptor desc; /**< @see apr_descriptor */
- void *client_data; /**< allows app to associate context */
-};
-
-/**
- * Setup the memory required for poll to operate properly
- * @param new_poll The poll structure to be used.
- * @param num The number of socket descriptors to be polled.
- * @param cont The pool to operate on.
- * @deprecated This function is deprecated, APR applications should control the pollset memory themselves.
- */
-APR_DECLARE(apr_status_t) apr_poll_setup(apr_pollfd_t **new_poll,
- apr_int32_t num,
- apr_pool_t *cont);
-
-/**
- * Poll the sockets in the poll structure
- * @param aprset The poll structure we will be using.
- * @param numsock The number of sockets we are polling
- * @param nsds The number of sockets signalled.
- * @param timeout The amount of time in microseconds to wait. This is
- * a maximum, not a minimum. If a socket is signalled, we
- * will wake up before this time. A negative number means
- * wait until a socket is signalled.
- * @remark
- * <PRE>
- * The number of sockets signalled is returned in the second argument.
- *
- * This is a blocking call, and it will not return until either a
- * socket has been signalled, or the timeout has expired.
- * </PRE>
- */
-APR_DECLARE(apr_status_t) apr_poll(apr_pollfd_t *aprset, apr_int32_t numsock,
- apr_int32_t *nsds,
- apr_interval_time_t timeout);
-
-/**
- * Add a socket to the poll structure.
- * @param aprset The poll structure we will be using.
- * @param sock The socket to add to the current poll structure.
- * @param event The events to look for when we do the poll. One of:
- * <PRE>
- * APR_POLLIN signal if read will not block
- * APR_POLLPRI signal if prioirty data is availble to be read
- * APR_POLLOUT signal if write will not block
- * </PRE>
- * @deprecated This function is deprecated, APR applications should control the pollset memory themselves.
- */
-APR_DECLARE(apr_status_t) apr_poll_socket_add(apr_pollfd_t *aprset,
- apr_socket_t *sock,
- apr_int16_t event);
-
-/**
- * Modify a socket in the poll structure with mask.
- * @param aprset The poll structure we will be using.
- * @param sock The socket to modify in poll structure.
- * @param events The events to stop looking for during the poll. One of:
- * <PRE>
- * APR_POLLIN signal if read will not block
- * APR_POLLPRI signal if priority data is available to be read
- * APR_POLLOUT signal if write will not block
- * </PRE>
- * @deprecated This function is deprecated, APR applications should control the pollset memory themselves.
- */
-APR_DECLARE(apr_status_t) apr_poll_socket_mask(apr_pollfd_t *aprset,
- apr_socket_t *sock,
- apr_int16_t events);
-/**
- * Remove a socket from the poll structure.
- * @param aprset The poll structure we will be using.
- * @param sock The socket to remove from the current poll structure.
- * @deprecated This function is deprecated, APR applications should control the pollset memory themselves.
- */
-APR_DECLARE(apr_status_t) apr_poll_socket_remove(apr_pollfd_t *aprset,
- apr_socket_t *sock);
-
-/**
- * Clear all events in the poll structure.
- * @param aprset The poll structure we will be using.
- * @param events The events to clear from all sockets. One of:
- * <PRE>
- * APR_POLLIN signal if read will not block
- * APR_POLLPRI signal if priority data is available to be read
- * APR_POLLOUT signal if write will not block
- * </PRE>
- * @deprecated This function is deprecated, APR applications should control the pollset memory themselves.
- */
-APR_DECLARE(apr_status_t) apr_poll_socket_clear(apr_pollfd_t *aprset,
- apr_int16_t events);
-
-/**
- * Get the return events for the specified socket.
- * @param event The returned events for the socket. One of:
- * <PRE>
- * APR_POLLIN Data is available to be read
- * APR_POLLPRI Priority data is availble to be read
- * APR_POLLOUT Write will succeed
- * APR_POLLERR An error occurred on the socket
- * APR_POLLHUP The connection has been terminated
- * APR_POLLNVAL This is an invalid socket to poll on.
- * Socket not open.
- * </PRE>
- * @param sock The socket we wish to get information about.
- * @param aprset The poll structure we will be using.
- * @deprecated This function is deprecated, APR applications should control the pollset memory themselves.
- */
-APR_DECLARE(apr_status_t) apr_poll_revents_get(apr_int16_t *event,
- apr_socket_t *sock,
- apr_pollfd_t *aprset);
-
-/* General-purpose poll API for arbitrarily large numbers of
- * file descriptors
- */
-
-/** Opaque structure used for pollset API */
-typedef struct apr_pollset_t apr_pollset_t;
-
-/**
- * Setup a pollset object
- * @param pollset The pointer in which to return the newly created object
- * @param size The maximum number of descriptors that this pollset can hold
- * @param p The pool from which to allocate the pollset
- * @param flags Optional flags to modify the operation of the pollset
- * (reserved for future expansion)
- */
-APR_DECLARE(apr_status_t) apr_pollset_create(apr_pollset_t **pollset,
- apr_uint32_t size,
- apr_pool_t *p,
- apr_uint32_t flags);
-
-/**
- * Destroy a pollset object
- * @param pollset The pollset to destroy
- */
-APR_DECLARE(apr_status_t) apr_pollset_destroy(apr_pollset_t *pollset);
-
-/**
- * Add a socket or file descriptor to a pollset
- * @param pollset The pollset to which to add the descriptor
- * @param descriptor The descriptor to add
- * @remark If you set client_data in the descriptor, that value
- * will be returned in the client_data field whenever this
- * descriptor is signalled in apr_pollset_poll().
- */
-APR_DECLARE(apr_status_t) apr_pollset_add(apr_pollset_t *pollset,
- const apr_pollfd_t *descriptor);
-
-/**
- * Remove a descriptor from a pollset
- * @param pollset The pollset from which to remove the descriptor
- * @param descriptor The descriptor to remove
- */
-APR_DECLARE(apr_status_t) apr_pollset_remove(apr_pollset_t *pollset,
- const apr_pollfd_t *descriptor);
-
-/**
- * Block for activity on the descriptor(s) in a pollset
- * @param pollset The pollset to use
- * @param timeout Timeout in microseconds
- * @param num Number of signalled descriptors (output parameter)
- * @param descriptors Array of signalled descriptors (output parameter)
- */
-APR_DECLARE(apr_status_t) apr_pollset_poll(apr_pollset_t *pollset,
- apr_interval_time_t timeout,
- apr_int32_t *num,
- const apr_pollfd_t **descriptors);
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ! APR_POLL_H */
-
diff --git a/rubbos/app/apache2/include/apr_pools.h b/rubbos/app/apache2/include/apr_pools.h
deleted file mode 100644
index 2f4353f0..00000000
--- a/rubbos/app/apache2/include/apr_pools.h
+++ /dev/null
@@ -1,664 +0,0 @@
-/* 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 APR_POOLS_H
-#define APR_POOLS_H
-
-/**
- * @file apr_pools.h
- * @brief APR memory allocation
- *
- * 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 apr_pool_t without fear,
- * and without thinking too hard about it either.
- */
-
-#include "apr.h"
-#include "apr_errno.h"
-#include "apr_general.h" /* for APR_STRINGIFY */
-#define APR_WANT_MEMFUNC /**< for no good reason? */
-#include "apr_want.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @defgroup apr_pools Memory Pool Functions
- * @ingroup APR
- * @{
- */
-
-/** The fundamental pool type */
-typedef struct apr_pool_t apr_pool_t;
-
-
-/**
- * Declaration helper macro to construct apr_foo_pool_get()s.
- *
- * This standardized macro is used by opaque (APR) data types to return
- * the apr_pool_t that is associated with the data type.
- *
- * APR_POOL_DECLARE_ACCESSOR() is used in a header file to declare the
- * accessor function. A typical usage and result would be:
- * <pre>
- * APR_POOL_DECLARE_ACCESSOR(file);
- * becomes:
- * APR_DECLARE(apr_pool_t *) apr_file_pool_get(apr_file_t *ob);
- * </pre>
- * @remark Doxygen unwraps this macro (via doxygen.conf) to provide
- * actual help for each specific occurance of apr_foo_pool_get.
- * @remark the linkage is specified for APR. It would be possible to expand
- * the macros to support other linkages.
- */
-#define APR_POOL_DECLARE_ACCESSOR(type) \
- APR_DECLARE(apr_pool_t *) apr_##type##_pool_get \
- (const apr_##type##_t *the##type)
-
-/**
- * Implementation helper macro to provide apr_foo_pool_get()s.
- *
- * In the implementation, the APR_POOL_IMPLEMENT_ACCESSOR() is used to
- * actually define the function. It assumes the field is named "pool".
- */
-#define APR_POOL_IMPLEMENT_ACCESSOR(type) \
- APR_DECLARE(apr_pool_t *) apr_##type##_pool_get \
- (const apr_##type##_t *the##type) \
- { return the##type->pool; }
-
-
-/**
- * Pool debug levels
- *
- * <pre>
- * | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- * ---------------------------------
- * | | | | | | | | x | General debug code enabled (usefull in
- * combination with --with-efence).
- *
- * | | | | | | | x | | Verbose output on stderr (report
- * CREATE, CLEAR, DESTROY).
- *
- * | | | | x | | | | | Verbose output on stderr (report
- * PALLOC, PCALLOC).
- *
- * | | | | | | x | | | Lifetime checking. On each use of a
- * pool, check its lifetime. If the pool
- * is out of scope, abort().
- * In combination with the verbose flag
- * above, it will output LIFE in such an
- * event prior to aborting.
- *
- * | | | | | x | | | | Pool owner checking. On each use of a
- * pool, check if the current thread is the
- * pools owner. If not, abort(). In
- * combination with the verbose flag above,
- * it will output OWNER in such an event
- * prior to aborting. Use the debug
- * function apr_pool_owner_set() to switch
- * a pools ownership.
- *
- * When no debug level was specified, assume general debug mode.
- * If level 0 was specified, debugging is switched off
- * </pre>
- */
-#if defined(APR_POOL_DEBUG)
-#if (APR_POOL_DEBUG != 0) && (APR_POOL_DEBUG - 0 == 0)
-#undef APR_POOL_DEBUG
-#define APR_POOL_DEBUG 1
-#endif
-#else
-#define APR_POOL_DEBUG 0
-#endif
-
-/** the place in the code where the particular function was called */
-#define APR_POOL__FILE_LINE__ __FILE__ ":" APR_STRINGIFY(__LINE__)
-
-
-
-/** A function that is called when allocation fails. */
-typedef int (*apr_abortfunc_t)(int retcode);
-
-/*
- * APR memory structure manipulators (pools, tables, and arrays).
- */
-
-/*
- * Initialization
- */
-
-/**
- * Setup all of the internal structures required to use pools
- * @remark Programs do NOT need to call this directly. APR will call this
- * automatically from apr_initialize.
- * @internal
- */
-APR_DECLARE(apr_status_t) apr_pool_initialize(void);
-
-/**
- * Tear down all of the internal structures required to use pools
- * @remark Programs do NOT need to call this directly. APR will call this
- * automatically from apr_terminate.
- * @internal
- */
-APR_DECLARE(void) apr_pool_terminate(void);
-
-
-/*
- * Pool creation/destruction
- */
-
-#include "apr_allocator.h"
-
-/**
- * Create a new pool.
- * @param newpool The pool we have just created.
- * @param parent The parent pool. If this is NULL, the new pool is a root
- * pool. If it is non-NULL, the new pool will inherit all
- * of its parent pool's attributes, except the apr_pool_t will
- * be a sub-pool.
- * @param abort_fn A function to use if the pool cannot allocate more memory.
- * @param allocator The allocator to use with the new pool. If NULL the
- * allocator of the parent pool will be used.
- */
-APR_DECLARE(apr_status_t) apr_pool_create_ex(apr_pool_t **newpool,
- apr_pool_t *parent,
- apr_abortfunc_t abort_fn,
- apr_allocator_t *allocator);
-
-/**
- * Debug version of apr_pool_create_ex.
- * @param newpool @see apr_pool_create.
- * @param parent @see apr_pool_create.
- * @param abort_fn @see apr_pool_create.
- * @param allocator @see apr_pool_create.
- * @param file_line Where the function is called from.
- * This is usually APR_POOL__FILE_LINE__.
- * @remark Only available when APR_POOL_DEBUG is defined.
- * Call this directly if you have you apr_pool_create_ex
- * calls in a wrapper function and wish to override
- * the file_line argument to reflect the caller of
- * your wrapper function. If you do not have
- * apr_pool_create_ex in a wrapper, trust the macro
- * and don't call apr_pool_create_ex_debug directly.
- */
-APR_DECLARE(apr_status_t) apr_pool_create_ex_debug(apr_pool_t **newpool,
- apr_pool_t *parent,
- apr_abortfunc_t abort_fn,
- apr_allocator_t *allocator,
- const char *file_line);
-
-#if APR_POOL_DEBUG
-#define apr_pool_create_ex(newpool, parent, abort_fn, allocator) \
- apr_pool_create_ex_debug(newpool, parent, abort_fn, allocator, \
- APR_POOL__FILE_LINE__)
-#endif
-
-/**
- * Create a new pool.
- * @param newpool The pool we have just created.
- * @param parent The parent pool. If this is NULL, the new pool is a root
- * pool. If it is non-NULL, the new pool will inherit all
- * of its parent pool's attributes, except the apr_pool_t will
- * be a sub-pool.
- */
-#if defined(DOXYGEN)
-APR_DECLARE(apr_status_t) apr_pool_create(apr_pool_t **newpool,
- apr_pool_t *parent);
-#else
-#if APR_POOL_DEBUG
-#define apr_pool_create(newpool, parent) \
- apr_pool_create_ex_debug(newpool, parent, NULL, NULL, \
- APR_POOL__FILE_LINE__)
-#else
-#define apr_pool_create(newpool, parent) \
- apr_pool_create_ex(newpool, parent, NULL, NULL)
-#endif
-#endif
-
-/** @deprecated @see apr_pool_create_ex */
-#if APR_POOL_DEBUG
-#define apr_pool_sub_make(newpool, parent, abort_fn) \
- (void)apr_pool_create_ex_debug(newpool, parent, abort_fn, \
- NULL, \
- APR_POOL__FILE_LINE__)
-#else
-#define apr_pool_sub_make(newpool, parent, abort_fn) \
- (void)apr_pool_create_ex(newpool, parent, abort_fn, NULL)
-#endif
-
-/**
- * Find the pools allocator
- * @param pool The pool to get the allocator from.
- */
-APR_DECLARE(apr_allocator_t *) apr_pool_allocator_get(apr_pool_t *pool);
-
-/**
- * Clear all memory in the pool and run all the cleanups. This also destroys all
- * subpools.
- * @param p The pool to clear
- * @remark This does not actually free the memory, it just allows the pool
- * to re-use this memory for the next allocation.
- * @see apr_pool_destroy()
- */
-APR_DECLARE(void) apr_pool_clear(apr_pool_t *p);
-
-/**
- * Debug version of apr_pool_clear.
- * @param p See: apr_pool_clear.
- * @param file_line Where the function is called from.
- * This is usually APR_POOL__FILE_LINE__.
- * @remark Only available when APR_POOL_DEBUG is defined.
- * Call this directly if you have you apr_pool_clear
- * calls in a wrapper function and wish to override
- * the file_line argument to reflect the caller of
- * your wrapper function. If you do not have
- * apr_pool_clear in a wrapper, trust the macro
- * and don't call apr_pool_destroy_clear directly.
- */
-APR_DECLARE(void) apr_pool_clear_debug(apr_pool_t *p,
- const char *file_line);
-
-#if APR_POOL_DEBUG
-#define apr_pool_clear(p) \
- apr_pool_clear_debug(p, APR_POOL__FILE_LINE__)
-#endif
-
-/**
- * Destroy the pool. This takes similar action as apr_pool_clear() and then
- * frees all the memory.
- * @param p The pool to destroy
- * @remark This will actually free the memory
- */
-APR_DECLARE(void) apr_pool_destroy(apr_pool_t *p);
-
-/**
- * Debug version of apr_pool_destroy.
- * @param p See: apr_pool_destroy.
- * @param file_line Where the function is called from.
- * This is usually APR_POOL__FILE_LINE__.
- * @remark Only available when APR_POOL_DEBUG is defined.
- * Call this directly if you have you apr_pool_destroy
- * calls in a wrapper function and wish to override
- * the file_line argument to reflect the caller of
- * your wrapper function. If you do not have
- * apr_pool_destroy in a wrapper, trust the macro
- * and don't call apr_pool_destroy_debug directly.
- */
-APR_DECLARE(void) apr_pool_destroy_debug(apr_pool_t *p,
- const char *file_line);
-
-#if APR_POOL_DEBUG
-#define apr_pool_destroy(p) \
- apr_pool_destroy_debug(p, APR_POOL__FILE_LINE__)
-#endif
-
-
-/*
- * Memory allocation
- */
-
-/**
- * Allocate a block of memory from a pool
- * @param p The pool to allocate from
- * @param size The amount of memory to allocate
- * @return The allocated memory
- */
-APR_DECLARE(void *) apr_palloc(apr_pool_t *p, apr_size_t size);
-
-/**
- * Debug version of apr_palloc
- * @param p See: apr_palloc
- * @param size See: apr_palloc
- * @param file_line Where the function is called from.
- * This is usually APR_POOL__FILE_LINE__.
- * @return See: apr_palloc
- */
-APR_DECLARE(void *) apr_palloc_debug(apr_pool_t *p, apr_size_t size,
- const char *file_line);
-
-#if APR_POOL_DEBUG
-#define apr_palloc(p, size) \
- apr_palloc_debug(p, size, APR_POOL__FILE_LINE__)
-#endif
-
-/**
- * Allocate a block of memory from a pool and set all of the memory to 0
- * @param p The pool to allocate from
- * @param size The amount of memory to allocate
- * @return The allocated memory
- */
-#if defined(DOXYGEN)
-APR_DECLARE(void *) apr_pcalloc(apr_pool_t *p, apr_size_t size);
-#elif !APR_POOL_DEBUG
-#define apr_pcalloc(p, size) memset(apr_palloc(p, size), 0, size)
-#endif
-
-/**
- * Debug version of apr_pcalloc
- * @param p See: apr_pcalloc
- * @param size See: apr_pcalloc
- * @param file_line Where the function is called from.
- * This is usually APR_POOL__FILE_LINE__.
- * @return See: apr_pcalloc
- */
-APR_DECLARE(void *) apr_pcalloc_debug(apr_pool_t *p, apr_size_t size,
- const char *file_line);
-
-#if APR_POOL_DEBUG
-#define apr_pcalloc(p, size) \
- apr_pcalloc_debug(p, size, APR_POOL__FILE_LINE__)
-#endif
-
-
-/*
- * Pool Properties
- */
-
-/**
- * Set the function to be called when an allocation failure occurs.
- * @remark If the program wants APR to exit on a memory allocation error,
- * then this function can be called to set the callback to use (for
- * performing cleanup and then exiting). If this function is not called,
- * then APR will return an error and expect the calling program to
- * deal with the error accordingly.
- */
-APR_DECLARE(void) apr_pool_abort_set(apr_abortfunc_t abortfunc,
- apr_pool_t *pool);
-
-/** @deprecated @see apr_pool_abort_set */
-APR_DECLARE(void) apr_pool_set_abort(apr_abortfunc_t abortfunc,
- apr_pool_t *pool);
-
-/**
- * Get the abort function associated with the specified pool.
- * @param pool The pool for retrieving the abort function.
- * @return The abort function for the given pool.
- */
-APR_DECLARE(apr_abortfunc_t) apr_pool_abort_get(apr_pool_t *pool);
-
-/** @deprecated @see apr_pool_abort_get */
-APR_DECLARE(apr_abortfunc_t) apr_pool_get_abort(apr_pool_t *pool);
-
-/**
- * Get the parent pool of the specified pool.
- * @param pool The pool for retrieving the parent pool.
- * @return The parent of the given pool.
- */
-APR_DECLARE(apr_pool_t *) apr_pool_parent_get(apr_pool_t *pool);
-
-/** @deprecated @see apr_pool_parent_get */
-APR_DECLARE(apr_pool_t *) apr_pool_get_parent(apr_pool_t *pool);
-
-/**
- * Determine if pool a is an ancestor of pool b
- * @param a The pool to search
- * @param b The pool to search for
- * @return True if a is an ancestor of b, NULL is considered an ancestor
- * of all pools.
- */
-APR_DECLARE(int) apr_pool_is_ancestor(apr_pool_t *a, apr_pool_t *b);
-
-/**
- * Tag a pool (give it a name)
- * @param pool The pool to tag
- * @param tag The tag
- */
-APR_DECLARE(void) apr_pool_tag(apr_pool_t *pool, const char *tag);
-
-
-/*
- * User data management
- */
-
-/**
- * Set the data associated with the current pool
- * @param data The user data associated with the pool.
- * @param key The key to use for association
- * @param cleanup The cleanup program to use to cleanup the data (NULL if none)
- * @param pool The current pool
- * @warning The data to be attached to the pool should have a life span
- * at least as long as the pool it is being attached to.
- *
- * Users of APR must take EXTREME care when choosing a key to
- * use for their data. It is possible to accidentally overwrite
- * data by choosing a key that another part of the program is using.
- * Therefore it is advised that steps are taken to ensure that unique
- * keys are used for all of the userdata objects in a particular pool
- * (the same key in two different pools or a pool and one of its
- * subpools is okay) at all times. Careful namespace prefixing of
- * key names is a typical way to help ensure this uniqueness.
- */
-APR_DECLARE(apr_status_t) apr_pool_userdata_set(
- const void *data,
- const char *key,
- apr_status_t (*cleanup)(void *),
- apr_pool_t *pool);
-
-/**
- * Set the data associated with the current pool
- * @param data The user data associated with the pool.
- * @param key The key to use for association
- * @param cleanup The cleanup program to use to cleanup the data (NULL if none)
- * @param pool The current pool
- * @note same as apr_pool_userdata_set(), except that this version doesn't
- * make a copy of the key (this function is useful, for example, when
- * the key is a string literal)
- * @warning This should NOT be used if the key could change addresses by
- * any means between the apr_pool_userdata_setn() call and a
- * subsequent apr_pool_userdata_get() on that key, such as if a
- * static string is used as a userdata key in a DSO and the DSO could
- * be unloaded and reloaded between the _setn() and the _get(). You
- * MUST use apr_pool_userdata_set() in such cases.
- * @warning More generally, the key and the data to be attached to the
- * pool should have a life span at least as long as the pool itself.
- *
- */
-APR_DECLARE(apr_status_t) apr_pool_userdata_setn(
- const void *data,
- const char *key,
- apr_status_t (*cleanup)(void *),
- apr_pool_t *pool);
-
-/**
- * Return the data associated with the current pool.
- * @param data The user data associated with the pool.
- * @param key The key for the data to retrieve
- * @param pool The current pool.
- */
-APR_DECLARE(apr_status_t) apr_pool_userdata_get(void **data, const char *key,
- apr_pool_t *pool);
-
-
-/*
- * Cleanup
- *
- * Cleanups are performed in the reverse order they were registered. That is:
- * Last In, First Out.
- */
-
-/**
- * Register a function to be called when a pool is cleared or destroyed
- * @param p The pool register the cleanup with
- * @param data The data to pass to the cleanup function.
- * @param plain_cleanup The function to call when the pool is cleared
- * or destroyed
- * @param child_cleanup The function to call when a child process is being
- * shutdown - this function is called in the child, obviously!
- */
-APR_DECLARE(void) apr_pool_cleanup_register(
- apr_pool_t *p,
- const void *data,
- apr_status_t (*plain_cleanup)(void *),
- apr_status_t (*child_cleanup)(void *));
-
-/**
- * Remove a previously registered cleanup function
- * @param p The pool remove the cleanup from
- * @param data The data to remove from cleanup
- * @param cleanup The function to remove from cleanup
- * @remarks For some strange reason only the plain_cleanup is handled by this
- * function
- */
-APR_DECLARE(void) apr_pool_cleanup_kill(apr_pool_t *p, const void *data,
- apr_status_t (*cleanup)(void *));
-
-/**
- * Replace the child cleanup of a previously registered cleanup
- * @param p The pool of the registered cleanup
- * @param data The data of the registered cleanup
- * @param plain_cleanup The plain cleanup function of the registered cleanup
- * @param child_cleanup The function to register as the child cleanup
- */
-APR_DECLARE(void) apr_pool_child_cleanup_set(
- apr_pool_t *p,
- const void *data,
- apr_status_t (*plain_cleanup)(void *),
- apr_status_t (*child_cleanup)(void *));
-
-/**
- * Run the specified cleanup function immediately and unregister it. Use
- * @a data instead of the data that was registered with the cleanup.
- * @param p The pool remove the cleanup from
- * @param data The data to remove from cleanup
- * @param cleanup The function to remove from cleanup
- */
-APR_DECLARE(apr_status_t) apr_pool_cleanup_run(
- apr_pool_t *p,
- void *data,
- apr_status_t (*cleanup)(void *));
-
-/**
- * An empty cleanup function
- * @param data The data to cleanup
- */
-APR_DECLARE_NONSTD(apr_status_t) apr_pool_cleanup_null(void *data);
-
-/* Preparing for exec() --- close files, etc., but *don't* flush I/O
- * buffers, *don't* wait for subprocesses, and *don't* free any memory.
- */
-/**
- * Run all of the child_cleanups, so that any unnecessary files are
- * closed because we are about to exec a new program
- */
-APR_DECLARE(void) apr_pool_cleanup_for_exec(void);
-
-
-/**
- * @defgroup PoolDebug Pool Debugging functions.
- *
- * pools have nested lifetimes -- sub_pools are destroyed when the
- * parent pool is cleared. We allow certain liberties with operations
- * on things such as tables (and on other structures in a more general
- * sense) where we allow the caller to insert values into a table which
- * were not allocated from the table's pool. The table's data will
- * remain valid as long as all the pools from which its values are
- * allocated remain valid.
- *
- * For example, if B is a sub pool of A, and you build a table T in
- * pool B, then it's safe to insert data allocated in A or B into T
- * (because B lives at most as long as A does, and T is destroyed when
- * B is cleared/destroyed). On the other hand, if S is a table in
- * pool A, it is safe to insert data allocated in A into S, but it
- * is *not safe* to insert data allocated from B into S... because
- * B can be cleared/destroyed before A is (which would leave dangling
- * pointers in T's data structures).
- *
- * In general we say that it is safe to insert data into a table T
- * if the data is allocated in any ancestor of T's pool. This is the
- * basis on which the APR_POOL_DEBUG code works -- it tests these ancestor
- * relationships for all data inserted into tables. APR_POOL_DEBUG also
- * provides tools (apr_pool_find, and apr_pool_is_ancestor) for other
- * folks to implement similar restrictions for their own data
- * structures.
- *
- * However, sometimes this ancestor requirement is inconvenient --
- * sometimes we're forced to create a sub pool (such as through
- * apr_sub_req_lookup_uri), and the sub pool is guaranteed to have
- * the same lifetime as the parent pool. This is a guarantee implemented
- * by the *caller*, not by the pool code. That is, the caller guarantees
- * they won't destroy the sub pool individually prior to destroying the
- * parent pool.
- *
- * In this case the caller must call apr_pool_join() to indicate this
- * guarantee to the APR_POOL_DEBUG code. There are a few examples spread
- * through the standard modules.
- *
- * These functions are only implemented when #APR_POOL_DEBUG is set.
- *
- * @{
- */
-#if APR_POOL_DEBUG || defined(DOXYGEN)
-/**
- * Guarantee that a subpool has the same lifetime as the parent.
- * @param p The parent pool
- * @param sub The subpool
- */
-APR_DECLARE(void) apr_pool_join(apr_pool_t *p, apr_pool_t *sub);
-
-/**
- * Find a pool from something allocated in it.
- * @param mem The thing allocated in the pool
- * @return The pool it is allocated in
- */
-APR_DECLARE(apr_pool_t *) apr_pool_find(const void *mem);
-
-/**
- * Report the number of bytes currently in the pool
- * @param p The pool to inspect
- * @param recurse Recurse/include the subpools' sizes
- * @return The number of bytes
- */
-APR_DECLARE(apr_size_t) apr_pool_num_bytes(apr_pool_t *p, int recurse);
-
-/**
- * Lock a pool
- * @param pool The pool to lock
- * @param flag The flag
- */
-APR_DECLARE(void) apr_pool_lock(apr_pool_t *pool, int flag);
-
-/* @} */
-
-#else /* APR_POOL_DEBUG or DOXYGEN */
-
-#ifdef apr_pool_join
-#undef apr_pool_join
-#endif
-#define apr_pool_join(a,b)
-
-#ifdef apr_pool_lock
-#undef apr_pool_lock
-#endif
-#define apr_pool_lock(pool, lock)
-
-#endif /* APR_POOL_DEBUG or DOXYGEN */
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !APR_POOLS_H */
diff --git a/rubbos/app/apache2/include/apr_portable.h b/rubbos/app/apache2/include/apr_portable.h
deleted file mode 100644
index ffeff9b0..00000000
--- a/rubbos/app/apache2/include/apr_portable.h
+++ /dev/null
@@ -1,505 +0,0 @@
-/* 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.
- */
-
-/* This header file is where you should put ANY platform specific information.
- * This should be the only header file that programs need to include that
- * actually has platform dependant code which refers to the .
- */
-#ifndef APR_PORTABLE_H
-#define APR_PORTABLE_H
-/**
- * @file apr_portable.h
- * @brief APR Portability Routines
- */
-
-#include "apr.h"
-#include "apr_pools.h"
-#include "apr_thread_proc.h"
-#include "apr_file_io.h"
-#include "apr_network_io.h"
-#include "apr_errno.h"
-#include "apr_global_mutex.h"
-#include "apr_proc_mutex.h"
-#include "apr_time.h"
-#include "apr_dso.h"
-#include "apr_shm.h"
-
-#if APR_HAVE_DIRENT_H
-#include <dirent.h>
-#endif
-#if APR_HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#if APR_HAVE_PTHREAD_H
-#include <pthread.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @defgroup apr_portabile Portability Routines
- * @ingroup APR
- * @{
- */
-
-#ifdef WIN32
-/* The primitives for Windows types */
-typedef HANDLE apr_os_file_t;
-typedef HANDLE apr_os_dir_t;
-typedef SOCKET apr_os_sock_t;
-typedef HANDLE apr_os_proc_mutex_t;
-typedef HANDLE apr_os_thread_t;
-typedef HANDLE apr_os_proc_t;
-typedef DWORD apr_os_threadkey_t;
-typedef FILETIME apr_os_imp_time_t;
-typedef SYSTEMTIME apr_os_exp_time_t;
-typedef HANDLE apr_os_dso_handle_t;
-typedef HANDLE apr_os_shm_t;
-
-#elif defined(OS2)
-typedef HFILE apr_os_file_t;
-typedef HDIR apr_os_dir_t;
-typedef int apr_os_sock_t;
-typedef HMTX apr_os_proc_mutex_t;
-typedef TID apr_os_thread_t;
-typedef PID apr_os_proc_t;
-typedef PULONG apr_os_threadkey_t;
-typedef struct timeval apr_os_imp_time_t;
-typedef struct tm apr_os_exp_time_t;
-typedef HMODULE apr_os_dso_handle_t;
-typedef void* apr_os_shm_t;
-
-#elif defined(__BEOS__)
-#include <kernel/OS.h>
-#include <kernel/image.h>
-
-struct apr_os_proc_mutex_t {
- sem_id sem;
- int32 ben;
-};
-
-typedef int apr_os_file_t;
-typedef DIR apr_os_dir_t;
-typedef int apr_os_sock_t;
-typedef struct apr_os_proc_mutex_t apr_os_proc_mutex_t;
-typedef thread_id apr_os_thread_t;
-typedef thread_id apr_os_proc_t;
-typedef int apr_os_threadkey_t;
-typedef struct timeval apr_os_imp_time_t;
-typedef struct tm apr_os_exp_time_t;
-typedef image_id apr_os_dso_handle_t;
-typedef void* apr_os_shm_t;
-
-#elif defined(NETWARE)
-typedef int apr_os_file_t;
-typedef DIR apr_os_dir_t;
-typedef int apr_os_sock_t;
-typedef NXMutex_t apr_os_proc_mutex_t;
-typedef NXThreadId_t apr_os_thread_t;
-typedef long apr_os_proc_t;
-typedef NXKey_t apr_os_threadkey_t;
-typedef struct timeval apr_os_imp_time_t;
-typedef struct tm apr_os_exp_time_t;
-typedef void * apr_os_dso_handle_t;
-typedef void* apr_os_shm_t;
-
-#else
-/* Any other OS should go above this one. This is the lowest common
- * denominator typedefs for all UNIX-like systems. :)
- */
-
-/** Basic OS process mutex structure. */
-struct apr_os_proc_mutex_t {
-#if APR_HAS_SYSVSEM_SERIALIZE || APR_HAS_FCNTL_SERIALIZE || APR_HAS_FLOCK_SERIALIZE
- int crossproc;
-#endif
-#if APR_HAS_PROC_PTHREAD_SERIALIZE
- pthread_mutex_t *pthread_interproc;
-#endif
-#if APR_HAS_THREADS
- /* If no threads, no need for thread locks */
-#if APR_USE_PTHREAD_SERIALIZE
- pthread_mutex_t *intraproc;
-#endif
-#endif
-};
-
-typedef int apr_os_file_t; /**< native file */
-typedef DIR apr_os_dir_t; /**< native dir */
-typedef int apr_os_sock_t; /**< native dir */
-typedef struct apr_os_proc_mutex_t apr_os_proc_mutex_t; /**< native proces
- * mutex
- */
-#if APR_HAS_THREADS && APR_HAVE_PTHREAD_H
-typedef pthread_t apr_os_thread_t; /**< native thread */
-typedef pthread_key_t apr_os_threadkey_t; /**< native thread address
- * space */
-#endif
-typedef pid_t apr_os_proc_t; /**< native pid */
-typedef struct timeval apr_os_imp_time_t; /**< native timeval */
-typedef struct tm apr_os_exp_time_t; /**< native tm */
-/** @var apr_os_dso_handle_t
- * native dso types
- */
-#if defined(HPUX) || defined(HPUX10) || defined(HPUX11)
-#include <dl.h>
-typedef shl_t apr_os_dso_handle_t;
-#elif defined(DARWIN)
-#include <mach-o/dyld.h>
-typedef NSModule apr_os_dso_handle_t;
-#else
-typedef void * apr_os_dso_handle_t;
-#endif
-typedef void* apr_os_shm_t; /**< native SHM */
-
-#endif
-
-/**
- * @typedef apr_os_sock_info_t
- * @brief alias for local OS socket
- */
-/**
- * everything APR needs to know about an active socket to construct
- * an APR socket from it; currently, this is platform-independent
- */
-struct apr_os_sock_info_t {
- apr_os_sock_t *os_sock; /**< always required */
- struct sockaddr *local; /**< NULL if not yet bound */
- struct sockaddr *remote; /**< NULL if not connected */
- int family; /**< always required (APR_INET, APR_INET6, etc.) */
- int type; /**< always required (SOCK_STREAM, SOCK_DGRAM, etc.) */
-#ifdef APR_ENABLE_FOR_1_0 /**< enable with APR 1.0 */
- int protocol; /**< 0 or actual protocol (APR_PROTO_SCTP, APR_PROTO_TCP, etc.) */
-#endif
-};
-
-typedef struct apr_os_sock_info_t apr_os_sock_info_t;
-
-#if APR_PROC_MUTEX_IS_GLOBAL || defined(DOXYGEN)
-/** Opaque global mutex type */
-#define apr_os_global_mutex_t apr_os_proc_mutex_t
-/** @return apr_os_global_mutex */
-#define apr_os_global_mutex_get apr_os_proc_mutex_get
-#else
- /** Thread and process mutex for those platforms where process mutexes
- * are not held in threads.
- */
- struct apr_os_global_mutex_t {
- apr_pool_t *pool;
- apr_proc_mutex_t *proc_mutex;
-#if APR_HAS_THREADS
- apr_thread_mutex_t *thread_mutex;
-#endif /* APR_HAS_THREADS */
- };
- typedef struct apr_os_global_mutex_t apr_os_global_mutex_t;
-
-APR_DECLARE(apr_status_t) apr_os_global_mutex_get(apr_os_global_mutex_t *ospmutex,
- apr_global_mutex_t *pmutex);
-#endif
-
-
-/**
- * convert the file from apr type to os specific type.
- * @param thefile The os specific file we are converting to
- * @param file The apr file to convert.
- * @remark On Unix, it is only possible to get a file descriptor from
- * an apr file type.
- */
-APR_DECLARE(apr_status_t) apr_os_file_get(apr_os_file_t *thefile,
- apr_file_t *file);
-
-/**
- * convert the dir from apr type to os specific type.
- * @param thedir The os specific dir we are converting to
- * @param dir The apr dir to convert.
- */
-APR_DECLARE(apr_status_t) apr_os_dir_get(apr_os_dir_t **thedir,
- apr_dir_t *dir);
-
-/**
- * Convert the socket from an apr type to an OS specific socket
- * @param thesock The socket to convert.
- * @param sock The os specifc equivelant of the apr socket..
- */
-APR_DECLARE(apr_status_t) apr_os_sock_get(apr_os_sock_t *thesock,
- apr_socket_t *sock);
-
-/**
- * Convert the proc mutex from os specific type to apr type
- * @param ospmutex The os specific proc mutex we are converting to.
- * @param pmutex The apr proc mutex to convert.
- */
-APR_DECLARE(apr_status_t) apr_os_proc_mutex_get(apr_os_proc_mutex_t *ospmutex,
- apr_proc_mutex_t *pmutex);
-
-/**
- * Get the exploded time in the platforms native format.
- * @param ostime the native time format
- * @param aprtime the time to convert
- */
-APR_DECLARE(apr_status_t) apr_os_exp_time_get(apr_os_exp_time_t **ostime,
- apr_time_exp_t *aprtime);
-
-/**
- * Get the imploded time in the platforms native format.
- * @param ostime the native time format
- * @param aprtime the time to convert
- */
-APR_DECLARE(apr_status_t) apr_os_imp_time_get(apr_os_imp_time_t **ostime,
- apr_time_t *aprtime);
-
-/**
- * convert the shm from apr type to os specific type.
- * @param osshm The os specific shm representation
- * @param shm The apr shm to convert.
- */
-APR_DECLARE(apr_status_t) apr_os_shm_get(apr_os_shm_t *osshm,
- apr_shm_t *shm);
-
-#if APR_HAS_THREADS || defined(DOXYGEN)
-/**
- * @defgroup apr_os_thread Thread portability Routines
- * @{
- */
-/**
- * convert the thread to os specific type from apr type.
- * @param thethd The apr thread to convert
- * @param thd The os specific thread we are converting to
- */
-APR_DECLARE(apr_status_t) apr_os_thread_get(apr_os_thread_t **thethd,
- apr_thread_t *thd);
-
-/**
- * convert the thread private memory key to os specific type from an apr type.
- * @param thekey The apr handle we are converting from.
- * @param key The os specific handle we are converting to.
- */
-APR_DECLARE(apr_status_t) apr_os_threadkey_get(apr_os_threadkey_t *thekey,
- apr_threadkey_t *key);
-
-/**
- * convert the thread from os specific type to apr type.
- * @param thd The apr thread we are converting to.
- * @param thethd The os specific thread to convert
- * @param cont The pool to use if it is needed.
- */
-APR_DECLARE(apr_status_t) apr_os_thread_put(apr_thread_t **thd,
- apr_os_thread_t *thethd,
- apr_pool_t *cont);
-
-/**
- * convert the thread private memory key from os specific type to apr type.
- * @param key The apr handle we are converting to.
- * @param thekey The os specific handle to convert
- * @param cont The pool to use if it is needed.
- */
-APR_DECLARE(apr_status_t) apr_os_threadkey_put(apr_threadkey_t **key,
- apr_os_threadkey_t *thekey,
- apr_pool_t *cont);
-/**
- * Get the thread ID
- */
-APR_DECLARE(apr_os_thread_t) apr_os_thread_current(void);
-
-/**
- * Compare two thread id's
- * @param tid1 1st Thread ID to compare
- * @param tid2 2nd Thread ID to compare
- */
-APR_DECLARE(int) apr_os_thread_equal(apr_os_thread_t tid1,
- apr_os_thread_t tid2);
-
-/** @} */
-#endif /* APR_HAS_THREADS */
-
-/**
- * convert the file from os specific type to apr type.
- * @param file The apr file we are converting to.
- * @param thefile The os specific file to convert
- * @param flags The flags that were used to open this file.
- * @param cont The pool to use if it is needed.
- * @remark On Unix, it is only possible to put a file descriptor into
- * an apr file type.
- */
-APR_DECLARE(apr_status_t) apr_os_file_put(apr_file_t **file,
- apr_os_file_t *thefile,
- apr_int32_t flags, apr_pool_t *cont);
-
-/**
- * convert the file from os specific type to apr type.
- * @param file The apr file we are converting to.
- * @param thefile The os specific pipe to convert
- * @param cont The pool to use if it is needed.
- * @remark On Unix, it is only possible to put a file descriptor into
- * an apr file type.
- */
-APR_DECLARE(apr_status_t) apr_os_pipe_put(apr_file_t **file,
- apr_os_file_t *thefile,
- apr_pool_t *cont);
-
-/**
- * convert the file from os specific type to apr type.
- * @param file The apr file we are converting to.
- * @param thefile The os specific pipe to convert
- * @param register_cleanup A cleanup will be registered on the apr_file_t
- * to issue apr_file_close().
- * @param cont The pool to use if it is needed.
- * @remark On Unix, it is only possible to put a file descriptor into
- * an apr file type.
- */
-APR_DECLARE(apr_status_t) apr_os_pipe_put_ex(apr_file_t **file,
- apr_os_file_t *thefile,
- int register_cleanup,
- apr_pool_t *cont);
-
-/**
- * convert the dir from os specific type to apr type.
- * @param dir The apr dir we are converting to.
- * @param thedir The os specific dir to convert
- * @param cont The pool to use when creating to apr directory.
- */
-APR_DECLARE(apr_status_t) apr_os_dir_put(apr_dir_t **dir,
- apr_os_dir_t *thedir,
- apr_pool_t *cont);
-
-/**
- * Convert a socket from the os specific type to the apr type
- * @param sock The pool to use.
- * @param thesock The socket to convert to.
- * @param cont The socket we are converting to an apr type.
- * @remark If it is a true socket, it is best to call apr_os_sock_make()
- * and provide APR with more information about the socket.
- */
-APR_DECLARE(apr_status_t) apr_os_sock_put(apr_socket_t **sock,
- apr_os_sock_t *thesock,
- apr_pool_t *cont);
-
-/**
- * Create a socket from an existing descriptor and local and remote
- * socket addresses.
- * @param apr_sock The new socket that has been set up
- * @param os_sock_info The os representation of the socket handle and
- * other characteristics of the socket
- * @param cont The pool to use
- * @remark If you only know the descriptor/handle or if it isn't really
- * a true socket, use apr_os_sock_put() instead.
- */
-APR_DECLARE(apr_status_t) apr_os_sock_make(apr_socket_t **apr_sock,
- apr_os_sock_info_t *os_sock_info,
- apr_pool_t *cont);
-
-/**
- * Convert the proc mutex from os specific type to apr type
- * @param pmutex The apr proc mutex we are converting to.
- * @param ospmutex The os specific proc mutex to convert.
- * @param cont The pool to use if it is needed.
- */
-APR_DECLARE(apr_status_t) apr_os_proc_mutex_put(apr_proc_mutex_t **pmutex,
- apr_os_proc_mutex_t *ospmutex,
- apr_pool_t *cont);
-
-/**
- * Put the imploded time in the APR format.
- * @param aprtime the APR time format
- * @param ostime the time to convert
- * @param cont the pool to use if necessary
- */
-APR_DECLARE(apr_status_t) apr_os_imp_time_put(apr_time_t *aprtime,
- apr_os_imp_time_t **ostime,
- apr_pool_t *cont);
-
-/**
- * Put the exploded time in the APR format.
- * @param aprtime the APR time format
- * @param ostime the time to convert
- * @param cont the pool to use if necessary
- */
-APR_DECLARE(apr_status_t) apr_os_exp_time_put(apr_time_exp_t *aprtime,
- apr_os_exp_time_t **ostime,
- apr_pool_t *cont);
-
-/**
- * convert the shared memory from os specific type to apr type.
- * @param shm The apr shm representation of osshm
- * @param osshm The os specific shm identity
- * @param cont The pool to use if it is needed.
- * @remark On fork()ed architectures, this is typically nothing more than
- * the memory block mapped. On non-fork architectures, this is typically
- * some internal handle to pass the mapping from process to process.
- */
-APR_DECLARE(apr_status_t) apr_os_shm_put(apr_shm_t **shm,
- apr_os_shm_t *osshm,
- apr_pool_t *cont);
-
-
-#if APR_HAS_DSO || defined(DOXYGEN)
-/**
- * @defgroup apr_os_dso DSO (Dynamic Loading) Portabiliity Routines
- * @{
- */
-/**
- * convert the dso handle from os specific to apr
- * @param dso The apr handle we are converting to
- * @param thedso the os specific handle to convert
- * @param pool the pool to use if it is needed
- */
-APR_DECLARE(apr_status_t) apr_os_dso_handle_put(apr_dso_handle_t **dso,
- apr_os_dso_handle_t thedso,
- apr_pool_t *pool);
-
-/**
- * convert the apr dso handle into an os specific one
- * @param aprdso The apr dso handle to convert
- * @param dso The os specific dso to return
- */
-APR_DECLARE(apr_status_t) apr_os_dso_handle_get(apr_os_dso_handle_t *dso,
- apr_dso_handle_t *aprdso);
-
-#if APR_HAS_OS_UUID
-/**
- * Private: apr-util's apr_uuid module when supported by the platform
- */
-APR_DECLARE(apr_status_t) apr_os_uuid_get(unsigned char *uuid_data);
-#endif
-
-/** @} */
-#endif /* APR_HAS_DSO */
-
-
-/**
- * Get the name of the system default characer set.
- * @param pool the pool to allocate the name from, if needed
- */
-APR_DECLARE(const char*) apr_os_default_encoding(apr_pool_t *pool);
-
-
-/**
- * Get the name of the current locale character set.
- * @param pool the pool to allocate the name from, if needed
- * @remark Defers to apr_os_default_encoding if the current locale's
- * data can't be retreved on this system.
- */
-APR_DECLARE(const char*) apr_os_locale_encoding(apr_pool_t *pool);
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ! APR_PORTABLE_H */
diff --git a/rubbos/app/apache2/include/apr_proc_mutex.h b/rubbos/app/apache2/include/apr_proc_mutex.h
deleted file mode 100644
index ceb9c82a..00000000
--- a/rubbos/app/apache2/include/apr_proc_mutex.h
+++ /dev/null
@@ -1,166 +0,0 @@
-/* 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 APR_PROC_MUTEX_H
-#define APR_PROC_MUTEX_H
-
-/**
- * @file apr_proc_mutex.h
- * @brief APR Process Locking Routines
- */
-
-#include "apr.h"
-#include "apr_pools.h"
-#include "apr_errno.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @defgroup apr_proc_mutex Process Locking Routines
- * @ingroup APR
- * @{
- */
-
-/**
- * Enumerated potential types for APR process locking methods
- * @warning Check APR_HAS_foo_SERIALIZE defines to see if the platform supports
- * APR_LOCK_foo. Only APR_LOCK_DEFAULT is portable.
- */
-typedef enum {
- APR_LOCK_FCNTL, /**< fcntl() */
- APR_LOCK_FLOCK, /**< flock() */
- APR_LOCK_SYSVSEM, /**< System V Semaphores */
- APR_LOCK_PROC_PTHREAD, /**< POSIX pthread process-based locking */
- APR_LOCK_POSIXSEM, /**< POSIX semaphore process-based locking */
- APR_LOCK_DEFAULT /**< Use the default process lock */
-} apr_lockmech_e;
-
-/** Opaque structure representing a process mutex. */
-typedef struct apr_proc_mutex_t apr_proc_mutex_t;
-
-/* Function definitions */
-
-/**
- * Create and initialize a mutex that can be used to synchronize processes.
- * @param mutex the memory address where the newly created mutex will be
- * stored.
- * @param fname A file name to use if the lock mechanism requires one. This
- * argument should always be provided. The lock code itself will
- * determine if it should be used.
- * @param mech The mechanism to use for the interprocess lock, if any; one of
- * <PRE>
- * APR_LOCK_FCNTL
- * APR_LOCK_FLOCK
- * APR_LOCK_SYSVSEM
- * APR_LOCK_POSIXSEM
- * APR_LOCK_PROC_PTHREAD
- * APR_LOCK_DEFAULT pick the default mechanism for the platform
- * </PRE>
- * @param pool the pool from which to allocate the mutex.
- * @see apr_lockmech_e
- * @warning Check APR_HAS_foo_SERIALIZE defines to see if the platform supports
- * APR_LOCK_foo. Only APR_LOCK_DEFAULT is portable.
- */
-APR_DECLARE(apr_status_t) apr_proc_mutex_create(apr_proc_mutex_t **mutex,
- const char *fname,
- apr_lockmech_e mech,
- apr_pool_t *pool);
-
-/**
- * Re-open a mutex in a child process.
- * @param mutex The newly re-opened mutex structure.
- * @param fname A file name to use if the mutex mechanism requires one. This
- * argument should always be provided. The mutex code itself will
- * determine if it should be used. This filename should be the
- * same one that was passed to apr_proc_mutex_create().
- * @param pool The pool to operate on.
- * @remark This function must be called to maintain portability, even
- * if the underlying lock mechanism does not require it.
- */
-APR_DECLARE(apr_status_t) apr_proc_mutex_child_init(apr_proc_mutex_t **mutex,
- const char *fname,
- apr_pool_t *pool);
-
-/**
- * Acquire the lock for the given mutex. If the mutex is already locked,
- * the current thread will be put to sleep until the lock becomes available.
- * @param mutex the mutex on which to acquire the lock.
- */
-APR_DECLARE(apr_status_t) apr_proc_mutex_lock(apr_proc_mutex_t *mutex);
-
-/**
- * Attempt to acquire the lock for the given mutex. If the mutex has already
- * been acquired, the call returns immediately with APR_EBUSY. Note: it
- * is important that the APR_STATUS_IS_EBUSY(s) macro be used to determine
- * if the return value was APR_EBUSY, for portability reasons.
- * @param mutex the mutex on which to attempt the lock acquiring.
- */
-APR_DECLARE(apr_status_t) apr_proc_mutex_trylock(apr_proc_mutex_t *mutex);
-
-/**
- * Release the lock for the given mutex.
- * @param mutex the mutex from which to release the lock.
- */
-APR_DECLARE(apr_status_t) apr_proc_mutex_unlock(apr_proc_mutex_t *mutex);
-
-/**
- * Destroy the mutex and free the memory associated with the lock.
- * @param mutex the mutex to destroy.
- */
-APR_DECLARE(apr_status_t) apr_proc_mutex_destroy(apr_proc_mutex_t *mutex);
-
-/**
- * Destroy the mutex and free the memory associated with the lock.
- * @param mutex the mutex to destroy.
- * @note This function is generally used to kill a cleanup on an already
- * created mutex
- */
-APR_DECLARE(apr_status_t) apr_proc_mutex_cleanup(void *mutex);
-
-/**
- * Return the name of the lockfile for the mutex, or NULL
- * if the mutex doesn't use a lock file
- */
-
-APR_DECLARE(const char *) apr_proc_mutex_lockfile(apr_proc_mutex_t *mutex);
-
-/**
- * Display the name of the mutex, as it relates to the actual method used.
- * This matches the valid options for Apache's AcceptMutex directive
- * @param mutex the name of the mutex
- */
-APR_DECLARE(const char *) apr_proc_mutex_name(apr_proc_mutex_t *mutex);
-
-/**
- * Display the name of the default mutex: APR_LOCK_DEFAULT
- */
-APR_DECLARE(const char *) apr_proc_mutex_defname(void);
-
-/**
- * Get the pool used by this proc_mutex.
- * @return apr_pool_t the pool
- */
-APR_POOL_DECLARE_ACCESSOR(proc_mutex);
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ! APR_PROC_MUTEX_H */
diff --git a/rubbos/app/apache2/include/apr_queue.h b/rubbos/app/apache2/include/apr_queue.h
deleted file mode 100644
index 5a0181b2..00000000
--- a/rubbos/app/apache2/include/apr_queue.h
+++ /dev/null
@@ -1,138 +0,0 @@
-/* Copyright 2000-2005 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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 APR_QUEUE_H
-#define APR_QUEUE_H
-
-/**
- * @file apr_queue.h
- * @brief Thread Safe FIFO bounded queue
- * @note Since most implementations of the queue are backed by a condition
- * variable implementation, it isn't available on systems without threads.
- * Although condition variables are some times available without threads.
- */
-
-#include "apu.h"
-#include "apr_errno.h"
-#include "apr_pools.h"
-
-#if APR_HAS_THREADS
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @defgroup APR_Util_FIFO Thread Safe FIFO bounded queue
- * @ingroup APR_Util
- * @{
- */
-
-/**
- * opaque structure
- */
-typedef struct apr_queue_t apr_queue_t;
-
-/**
- * create a FIFO queue
- * @param queue The new queue
- * @param queue_capacity maximum size of the queue
- * @param a pool to allocate queue from
- */
-APU_DECLARE(apr_status_t) apr_queue_create(apr_queue_t **queue,
- unsigned int queue_capacity,
- apr_pool_t *a);
-
-/**
- * push/add a object to the queue, blocking if the queue is already full
- *
- * @param queue the queue
- * @param data the data
- * @returns APR_EINTR the blocking was interrupted (try again)
- * @returns APR_EOF the queue has been terminated
- * @returns APR_SUCCESS on a successfull push
- */
-APU_DECLARE(apr_status_t) apr_queue_push(apr_queue_t *queue, void *data);
-
-/**
- * pop/get an object from the queue, blocking if the queue is already empty
- *
- * @param queue the queue
- * @param data the data
- * @returns APR_EINTR the blocking was interrupted (try again)
- * @returns APR_EOF if the queue has been terminated
- * @returns APR_SUCCESS on a successfull pop
- */
-APU_DECLARE(apr_status_t) apr_queue_pop(apr_queue_t *queue, void **data);
-
-/**
- * push/add a object to the queue, returning immediatly if the queue is full
- *
- * @param queue the queue
- * @param data the data
- * @returns APR_EINTR the blocking operation was interrupted (try again)
- * @returns APR_EAGAIN the queue is full
- * @returns APR_EOF the queue has been terminated
- * @returns APR_SUCCESS on a successfull push
- */
-APU_DECLARE(apr_status_t) apr_queue_trypush(apr_queue_t *queue, void *data);
-
-/**
- * pop/get an object to the queue, returning immediatly if the queue is empty
- *
- * @param queue the queue
- * @param data the data
- * @returns APR_EINTR the blocking operation was interrupted (try again)
- * @returns APR_EAGAIN the queue is empty
- * @returns APR_EOF the queue has been terminated
- * @returns APR_SUCCESS on a successfull push
- */
-APU_DECLARE(apr_status_t) apr_queue_trypop(apr_queue_t *queue, void **data);
-
-/**
- * returns the size of the queue.
- *
- * @warning this is not threadsafe, and is intended for reporting/monitoring
- * of the queue.
- * @param queue the queue
- * @returns the size of the queue
- */
-APU_DECLARE(unsigned int) apr_queue_size(apr_queue_t *queue);
-
-/**
- * interrupt all the threads blocking on this queue.
- *
- * @param queue the queue
- */
-APU_DECLARE(apr_status_t) apr_queue_interrupt_all(apr_queue_t *queue);
-
-/**
- * terminate all queue, sendinging a interupt to all the
- * blocking threads
- *
- * @param queue the queue
- */
-APU_DECLARE(apr_status_t) apr_queue_term(apr_queue_t *queue);
-
-#ifdef __cplusplus
-}
-#endif
-
-/** @} */
-
-#endif /* APR_HAS_THREADS */
-
-#endif /* APRQUEUE_H */
diff --git a/rubbos/app/apache2/include/apr_reslist.h b/rubbos/app/apache2/include/apr_reslist.h
deleted file mode 100644
index 1a18391d..00000000
--- a/rubbos/app/apache2/include/apr_reslist.h
+++ /dev/null
@@ -1,141 +0,0 @@
-/* Copyright 2000-2005 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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 APR_RESLIST_H
-#define APR_RESLIST_H
-
-/**
- * @file apr_reslist.h
- * @brief APR-UTIL Resource List Routines
- */
-
-#include "apr.h"
-#include "apu.h"
-#include "apr_pools.h"
-#include "apr_errno.h"
-#include "apr_time.h"
-
-#if APR_HAS_THREADS
-
-/**
- * @defgroup APR_Util_RL Resource List Routines
- * @ingroup APR_Util
- * @{
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/** Opaque resource list object */
-typedef struct apr_reslist_t apr_reslist_t;
-
-/* Generic constructor called by resource list when it needs to create a
- * resource.
- * @param resource opaque resource
- * @param param flags
- * @param pool Pool
- */
-typedef apr_status_t (*apr_reslist_constructor)(void **resource, void *params,
- apr_pool_t *pool);
-
-/* Generic destructor called by resource list when it needs to destroy a
- * resource.
- * @param resource opaque resource
- * @param param flags
- * @param pool Pool
- */
-typedef apr_status_t (*apr_reslist_destructor)(void *resource, void *params,
- apr_pool_t *pool);
-
-/**
- * Create a new resource list with the following parameters:
- * @param reslist An address where the pointer to the new resource
- * list will be stored.
- * @param pool The pool to use for local storage and management
- * @param min Allowed minimum number of available resources. Zero
- * creates new resources only when needed.
- * @param smax Resources will be destroyed to meet this maximum
- * restriction as they expire.
- * @param hmax Absolute maximum limit on the number of total resources.
- * @param ttl If non-zero, sets the maximum amount of time a resource
- * may be available while exceeding the soft limit.
- * @param con Constructor routine that is called to create a new resource.
- * @param de Destructor routine that is called to destroy an expired resource.
- * @param params Passed to constructor and deconstructor
- * @param pool The pool from which to create this resoure list. Also the
- * same pool that is passed to the constructor and destructor
- * routines.
- */
-APU_DECLARE(apr_status_t) apr_reslist_create(apr_reslist_t **reslist,
- int min, int smax, int hmax,
- apr_interval_time_t ttl,
- apr_reslist_constructor con,
- apr_reslist_destructor de,
- void *params,
- apr_pool_t *pool);
-
-/**
- * Destroy the given resource list and all resources controlled by
- * this list.
- * FIXME: Should this block until all resources become available,
- * or maybe just destroy all the free ones, or maybe destroy
- * them even though they might be in use by something else?
- * @param reslist The reslist to destroy
- */
-APU_DECLARE(apr_status_t) apr_reslist_destroy(apr_reslist_t *reslist);
-
-/**
- * Retrieve a resource from the list, creating a new one if necessary.
- * If we have met our maximum number of resources, we will block
- * until one becomes available.
- */
-APU_DECLARE(apr_status_t) apr_reslist_acquire(apr_reslist_t *reslist,
- void **resource);
-
-/**
- * Return a resource back to the list of available resources.
- */
-APU_DECLARE(apr_status_t) apr_reslist_release(apr_reslist_t *reslist,
- void *resource);
-
-/**
- * Set the timeout the acquire will wait for a free resource
- * when the maximum number of resources is exceeded.
- * @param reslist The resource list.
- * @param timeout Timeout to wait. The zero waits forewer.
- */
-APU_DECLARE(void) apr_reslist_timeout_set(apr_reslist_t *reslist,
- apr_interval_time_t timeout);
-
-/**
- * Invalidate a resource in the pool - e.g. a database connection
- * that returns a "lost connection" error and can't be restored.
- * Use this instead of apr_reslist_release if the resource is bad.
- */
-APU_DECLARE(apr_status_t) apr_reslist_invalidate(apr_reslist_t *reslist,
- void *resource);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-/** @} */
-
-#endif /* APR_HAS_THREADS */
-
-#endif /* ! APR_RESLIST_H */
diff --git a/rubbos/app/apache2/include/apr_ring.h b/rubbos/app/apache2/include/apr_ring.h
deleted file mode 100644
index 79efb436..00000000
--- a/rubbos/app/apache2/include/apr_ring.h
+++ /dev/null
@@ -1,551 +0,0 @@
-/* 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.
- */
-
-/*
- * This code draws heavily from the 4.4BSD <sys/queue.h> macros
- * and Dean Gaudet's "splim/ring.h".
- * <http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/sys/queue.h>
- * <http://www.arctic.org/~dean/splim/>
- *
- * We'd use Dean's code directly if we could guarantee the
- * availability of inline functions.
- */
-
-#ifndef APR_RING_H
-#define APR_RING_H
-
-/**
- * @file apr_ring.h
- * @brief APR Rings
- */
-
-/*
- * for offsetof()
- */
-#include "apr_general.h"
-
-/**
- * @defgroup apr_ring Ring Macro Implementations
- * @ingroup APR
- * A ring is a kind of doubly-linked list that can be manipulated
- * without knowing where its head is.
- * @{
- */
-
-/**
- * The Ring Element
- *
- * A ring element struct is linked to the other elements in the ring
- * through its ring entry field, e.g.
- * <pre>
- * struct my_element_t {
- * APR_RING_ENTRY(my_element_t) link;
- * int foo;
- * char *bar;
- * };
- * </pre>
- *
- * An element struct may be put on more than one ring if it has more
- * than one APR_RING_ENTRY field. Each APR_RING_ENTRY has a corresponding
- * APR_RING_HEAD declaration.
- *
- * @warning For strict C standards compliance you should put the APR_RING_ENTRY
- * first in the element struct unless the head is always part of a larger
- * object with enough earlier fields to accommodate the offsetof() used
- * to compute the ring sentinel below. You can usually ignore this caveat.
- */
-#define APR_RING_ENTRY(elem) \
- struct { \
- struct elem *next; \
- struct elem *prev; \
- }
-
-/**
- * The Ring Head
- *
- * Each ring is managed via its head, which is a struct declared like this:
- * <pre>
- * APR_RING_HEAD(my_ring_t, my_element_t);
- * struct my_ring_t ring, *ringp;
- * </pre>
- *
- * This struct looks just like the element link struct so that we can
- * be sure that the typecasting games will work as expected.
- *
- * The first element in the ring is next after the head, and the last
- * element is just before the head.
- */
-#define APR_RING_HEAD(head, elem) \
- struct head { \
- struct elem * volatile next; \
- struct elem * volatile prev; \
- }
-
-/**
- * The Ring Sentinel
- *
- * This is the magic pointer value that occurs before the first and
- * after the last elements in the ring, computed from the address of
- * the ring's head. The head itself isn't an element, but in order to
- * get rid of all the special cases when dealing with the ends of the
- * ring, we play typecasting games to make it look like one.
- *
- * Here is a diagram to illustrate the arrangements of the next and
- * prev pointers of each element in a single ring. Note that they point
- * to the start of each element, not to the APR_RING_ENTRY structure.
- *
- * <pre>
- * +->+------+<-+ +->+------+<-+ +->+------+<-+
- * | |struct| | | |struct| | | |struct| |
- * / | elem | \/ | elem | \/ | elem | \
- * ... | | /\ | | /\ | | ...
- * +------+ | | +------+ | | +------+
- * ...--|prev | | +--|ring | | +--|prev |
- * | next|--+ | entry|--+ | next|--...
- * +------+ +------+ +------+
- * | etc. | | etc. | | etc. |
- * : : : : : :
- * </pre>
- *
- * The APR_RING_HEAD is nothing but a bare APR_RING_ENTRY. The prev
- * and next pointers in the first and last elements don't actually
- * point to the head, they point to a phantom place called the
- * sentinel. Its value is such that last->next->next == first because
- * the offset from the sentinel to the head's next pointer is the same
- * as the offset from the start of an element to its next pointer.
- * This also works in the opposite direction.
- *
- * <pre>
- * last first
- * +->+------+<-+ +->sentinel<-+ +->+------+<-+
- * | |struct| | | | | |struct| |
- * / | elem | \/ \/ | elem | \
- * ... | | /\ /\ | | ...
- * +------+ | | +------+ | | +------+
- * ...--|prev | | +--|ring | | +--|prev |
- * | next|--+ | head|--+ | next|--...
- * +------+ +------+ +------+
- * | etc. | | etc. |
- * : : : :
- * </pre>
- *
- * Note that the offset mentioned above is different for each kind of
- * ring that the element may be on, and each kind of ring has a unique
- * name for its APR_RING_ENTRY in each element, and has its own type
- * for its APR_RING_HEAD.
- *
- * Note also that if the offset is non-zero (which is required if an
- * element has more than one APR_RING_ENTRY), the unreality of the
- * sentinel may have bad implications on very perverse implementations
- * of C -- see the warning in APR_RING_ENTRY.
- *
- * @param hp The head of the ring
- * @param elem The name of the element struct
- * @param link The name of the APR_RING_ENTRY in the element struct
- */
-#define APR_RING_SENTINEL(hp, elem, link) \
- (struct elem *)((char *)(hp) - APR_OFFSETOF(struct elem, link))
-
-/**
- * The first element of the ring
- * @param hp The head of the ring
- */
-#define APR_RING_FIRST(hp) (hp)->next
-/**
- * The last element of the ring
- * @param hp The head of the ring
- */
-#define APR_RING_LAST(hp) (hp)->prev
-/**
- * The next element in the ring
- * @param ep The current element
- * @param link The name of the APR_RING_ENTRY in the element struct
- */
-#define APR_RING_NEXT(ep, link) (ep)->link.next
-/**
- * The previous element in the ring
- * @param ep The current element
- * @param link The name of the APR_RING_ENTRY in the element struct
- */
-#define APR_RING_PREV(ep, link) (ep)->link.prev
-
-
-/**
- * Initialize a ring
- * @param hp The head of the ring
- * @param elem The name of the element struct
- * @param link The name of the APR_RING_ENTRY in the element struct
- */
-#define APR_RING_INIT(hp, elem, link) do { \
- APR_RING_FIRST((hp)) = APR_RING_SENTINEL((hp), elem, link); \
- APR_RING_LAST((hp)) = APR_RING_SENTINEL((hp), elem, link); \
- } while (0)
-
-/**
- * Determine if a ring is empty
- * @param hp The head of the ring
- * @param elem The name of the element struct
- * @param link The name of the APR_RING_ENTRY in the element struct
- * @return true or false
- */
-#define APR_RING_EMPTY(hp, elem, link) \
- (APR_RING_FIRST((hp)) == APR_RING_SENTINEL((hp), elem, link))
-
-/**
- * Initialize a singleton element
- * @param ep The element
- * @param link The name of the APR_RING_ENTRY in the element struct
- */
-#define APR_RING_ELEM_INIT(ep, link) do { \
- APR_RING_NEXT((ep), link) = (ep); \
- APR_RING_PREV((ep), link) = (ep); \
- } while (0)
-
-
-/**
- * Splice the sequence ep1..epN into the ring before element lep
- * (..lep.. becomes ..ep1..epN..lep..)
- * @warning This doesn't work for splicing before the first element or on
- * empty rings... see APR_RING_SPLICE_HEAD for one that does
- * @param lep Element in the ring to splice before
- * @param ep1 First element in the sequence to splice in
- * @param epN Last element in the sequence to splice in
- * @param link The name of the APR_RING_ENTRY in the element struct
- */
-#define APR_RING_SPLICE_BEFORE(lep, ep1, epN, link) do { \
- APR_RING_NEXT((epN), link) = (lep); \
- APR_RING_PREV((ep1), link) = APR_RING_PREV((lep), link); \
- APR_RING_NEXT(APR_RING_PREV((lep), link), link) = (ep1); \
- APR_RING_PREV((lep), link) = (epN); \
- } while (0)
-
-/**
- * Splice the sequence ep1..epN into the ring after element lep
- * (..lep.. becomes ..lep..ep1..epN..)
- * @warning This doesn't work for splicing after the last element or on
- * empty rings... see APR_RING_SPLICE_TAIL for one that does
- * @param lep Element in the ring to splice after
- * @param ep1 First element in the sequence to splice in
- * @param epN Last element in the sequence to splice in
- * @param link The name of the APR_RING_ENTRY in the element struct
- */
-#define APR_RING_SPLICE_AFTER(lep, ep1, epN, link) do { \
- APR_RING_PREV((ep1), link) = (lep); \
- APR_RING_NEXT((epN), link) = APR_RING_NEXT((lep), link); \
- APR_RING_PREV(APR_RING_NEXT((lep), link), link) = (epN); \
- APR_RING_NEXT((lep), link) = (ep1); \
- } while (0)
-
-/**
- * Insert the element nep into the ring before element lep
- * (..lep.. becomes ..nep..lep..)
- * @warning This doesn't work for inserting before the first element or on
- * empty rings... see APR_RING_INSERT_HEAD for one that does
- * @param lep Element in the ring to insert before
- * @param nep Element to insert
- * @param link The name of the APR_RING_ENTRY in the element struct
- */
-#define APR_RING_INSERT_BEFORE(lep, nep, link) \
- APR_RING_SPLICE_BEFORE((lep), (nep), (nep), link)
-
-/**
- * Insert the element nep into the ring after element lep
- * (..lep.. becomes ..lep..nep..)
- * @warning This doesn't work for inserting after the last element or on
- * empty rings... see APR_RING_INSERT_TAIL for one that does
- * @param lep Element in the ring to insert after
- * @param nep Element to insert
- * @param link The name of the APR_RING_ENTRY in the element struct
- */
-#define APR_RING_INSERT_AFTER(lep, nep, link) \
- APR_RING_SPLICE_AFTER((lep), (nep), (nep), link)
-
-
-/**
- * Splice the sequence ep1..epN into the ring before the first element
- * (..hp.. becomes ..hp..ep1..epN..)
- * @param hp Head of the ring
- * @param ep1 First element in the sequence to splice in
- * @param epN Last element in the sequence to splice in
- * @param elem The name of the element struct
- * @param link The name of the APR_RING_ENTRY in the element struct
- */
-#define APR_RING_SPLICE_HEAD(hp, ep1, epN, elem, link) \
- APR_RING_SPLICE_AFTER(APR_RING_SENTINEL((hp), elem, link), \
- (ep1), (epN), link)
-
-/**
- * Splice the sequence ep1..epN into the ring after the last element
- * (..hp.. becomes ..ep1..epN..hp..)
- * @param hp Head of the ring
- * @param ep1 First element in the sequence to splice in
- * @param epN Last element in the sequence to splice in
- * @param elem The name of the element struct
- * @param link The name of the APR_RING_ENTRY in the element struct
- */
-#define APR_RING_SPLICE_TAIL(hp, ep1, epN, elem, link) \
- APR_RING_SPLICE_BEFORE(APR_RING_SENTINEL((hp), elem, link), \
- (ep1), (epN), link)
-
-/**
- * Insert the element nep into the ring before the first element
- * (..hp.. becomes ..hp..nep..)
- * @param hp Head of the ring
- * @param nep Element to insert
- * @param elem The name of the element struct
- * @param link The name of the APR_RING_ENTRY in the element struct
- */
-#define APR_RING_INSERT_HEAD(hp, nep, elem, link) \
- APR_RING_SPLICE_HEAD((hp), (nep), (nep), elem, link)
-
-/**
- * Insert the element nep into the ring after the last element
- * (..hp.. becomes ..nep..hp..)
- * @param hp Head of the ring
- * @param nep Element to insert
- * @param elem The name of the element struct
- * @param link The name of the APR_RING_ENTRY in the element struct
- */
-#define APR_RING_INSERT_TAIL(hp, nep, elem, link) \
- APR_RING_SPLICE_TAIL((hp), (nep), (nep), elem, link)
-
-/**
- * Concatenate ring h2 onto the end of ring h1, leaving h2 empty.
- * @param h1 Head of the ring to concatenate onto
- * @param h2 Head of the ring to concatenate
- * @param elem The name of the element struct
- * @param link The name of the APR_RING_ENTRY in the element struct
- */
-#define APR_RING_CONCAT(h1, h2, elem, link) do { \
- if (!APR_RING_EMPTY((h2), elem, link)) { \
- APR_RING_SPLICE_BEFORE(APR_RING_SENTINEL((h1), elem, link), \
- APR_RING_FIRST((h2)), \
- APR_RING_LAST((h2)), link); \
- APR_RING_INIT((h2), elem, link); \
- } \
- } while (0)
-
-/**
- * Prepend ring h2 onto the beginning of ring h1, leaving h2 empty.
- * @param h1 Head of the ring to prepend onto
- * @param h2 Head of the ring to prepend
- * @param elem The name of the element struct
- * @param link The name of the APR_RING_ENTRY in the element struct
- */
-#define APR_RING_PREPEND(h1, h2, elem, link) do { \
- if (!APR_RING_EMPTY((h2), elem, link)) { \
- APR_RING_SPLICE_AFTER(APR_RING_SENTINEL((h1), elem, link), \
- APR_RING_FIRST((h2)), \
- APR_RING_LAST((h2)), link); \
- APR_RING_INIT((h2), elem, link); \
- } \
- } while (0)
-
-/**
- * Unsplice a sequence of elements from a ring
- * @warning The unspliced sequence is left with dangling pointers at either end
- * @param ep1 First element in the sequence to unsplice
- * @param epN Last element in the sequence to unsplice
- * @param link The name of the APR_RING_ENTRY in the element struct
- */
-#define APR_RING_UNSPLICE(ep1, epN, link) do { \
- APR_RING_NEXT(APR_RING_PREV((ep1), link), link) = \
- APR_RING_NEXT((epN), link); \
- APR_RING_PREV(APR_RING_NEXT((epN), link), link) = \
- APR_RING_PREV((ep1), link); \
- } while (0)
-
-/**
- * Remove a single element from a ring
- * @warning The unspliced element is left with dangling pointers at either end
- * @param ep Element to remove
- * @param link The name of the APR_RING_ENTRY in the element struct
- */
-#define APR_RING_REMOVE(ep, link) \
- APR_RING_UNSPLICE((ep), (ep), link)
-
-
-/**
- * Iterate through a ring
- * @param ep The current element
- * @param hp The ring to iterate over
- * @param elem The name of the element struct
- * @param link The name of the APR_RING_ENTRY in the element struct
- * @remark This is the same as either:
- * <pre>
- * ep = APR_RING_FIRST(hp);
- * while (ep != APR_RING_SENTINEL(hp, elem, link)) {
- * ...
- * ep = APR_RING_NEXT(ep, link);
- * }
- * OR
- * for (ep = APR_RING_FIRST(hp);
- * ep != APR_RING_SENTINEL(hp, elem, link);
- * ep = APR_RING_NEXT(ep, link)) {
- * ...
- * }
- * </pre>
- * @warning Be aware that you cannot change the value of ep within
- * the foreach loop, nor can you destroy the ring element it points to.
- * Modifying the prev and next pointers of the element is dangerous
- * but can be done if you're careful. If you change ep's value or
- * destroy the element it points to, then APR_RING_FOREACH
- * will have no way to find out what element to use for its next
- * iteration. The reason for this can be seen by looking closely
- * at the equivalent loops given in the tip above. So, for example,
- * if you are writing a loop that empties out a ring one element
- * at a time, APR_RING_FOREACH just won't work for you. Do it
- * by hand, like so:
- * <pre>
- * while (!APR_RING_EMPTY(hp, elem, link)) {
- * ep = APR_RING_FIRST(hp);
- * ...
- * APR_RING_REMOVE(ep, link);
- * }
- * </pre>
- * @deprecated This macro causes more headaches than it's worth. Use
- * one of the alternatives documented here instead; the clarity gained
- * in what's really going on is well worth the extra line or two of code.
- * This macro will be removed at some point in the future.
- */
-#define APR_RING_FOREACH(ep, hp, elem, link) \
- for ((ep) = APR_RING_FIRST((hp)); \
- (ep) != APR_RING_SENTINEL((hp), elem, link); \
- (ep) = APR_RING_NEXT((ep), link))
-
-/**
- * Iterate through a ring backwards
- * @param ep The current element
- * @param hp The ring to iterate over
- * @param elem The name of the element struct
- * @param link The name of the APR_RING_ENTRY in the element struct
- * @see APR_RING_FOREACH
- */
-#define APR_RING_FOREACH_REVERSE(ep, hp, elem, link) \
- for ((ep) = APR_RING_LAST((hp)); \
- (ep) != APR_RING_SENTINEL((hp), elem, link); \
- (ep) = APR_RING_PREV((ep), link))
-
-
-/* Debugging tools: */
-
-#ifdef APR_RING_DEBUG
-#include <stdio.h>
-#include <assert.h>
-
-#define APR_RING_CHECK_ONE(msg, ptr) \
- fprintf(stderr, "*** %s %p\n", msg, ptr)
-
-#define APR_RING_CHECK(hp, elem, link, msg) \
- APR_RING_CHECK_ELEM(APR_RING_SENTINEL(hp, elem, link), elem, link, msg)
-
-#define APR_RING_CHECK_ELEM(ep, elem, link, msg) do { \
- struct elem *start = (ep); \
- struct elem *here = start; \
- fprintf(stderr, "*** ring check start -- %s\n", msg); \
- do { \
- fprintf(stderr, "\telem %p\n", here); \
- fprintf(stderr, "\telem->next %p\n", \
- APR_RING_NEXT(here, link)); \
- fprintf(stderr, "\telem->prev %p\n", \
- APR_RING_PREV(here, link)); \
- fprintf(stderr, "\telem->next->prev %p\n", \
- APR_RING_PREV(APR_RING_NEXT(here, link), link)); \
- fprintf(stderr, "\telem->prev->next %p\n", \
- APR_RING_NEXT(APR_RING_PREV(here, link), link)); \
- if (APR_RING_PREV(APR_RING_NEXT(here, link), link) != here) { \
- fprintf(stderr, "\t*** elem->next->prev != elem\n"); \
- break; \
- } \
- if (APR_RING_NEXT(APR_RING_PREV(here, link), link) != here) { \
- fprintf(stderr, "\t*** elem->prev->next != elem\n"); \
- break; \
- } \
- here = APR_RING_NEXT(here, link); \
- } while (here != start); \
- fprintf(stderr, "*** ring check end\n"); \
- } while (0)
-
-#define APR_RING_CHECK_CONSISTENCY(hp, elem, link) \
- APR_RING_CHECK_ELEM_CONSISTENCY(APR_RING_SENTINEL(hp, elem, link),\
- elem, link)
-
-#define APR_RING_CHECK_ELEM_CONSISTENCY(ep, elem, link) do { \
- struct elem *start = (ep); \
- struct elem *here = start; \
- do { \
- assert(APR_RING_PREV(APR_RING_NEXT(here, link), link) == here); \
- assert(APR_RING_NEXT(APR_RING_PREV(here, link), link) == here); \
- here = APR_RING_NEXT(here, link); \
- } while (here != start); \
- } while (0)
-
-#else
-/**
- * Print a single pointer value to STDERR
- * (This is a no-op unless APR_RING_DEBUG is defined.)
- * @param msg Descriptive message
- * @param ptr Pointer value to print
- */
-#define APR_RING_CHECK_ONE(msg, ptr)
-/**
- * Dump all ring pointers to STDERR, starting with the head and looping all
- * the way around the ring back to the head. Aborts if an inconsistency
- * is found.
- * (This is a no-op unless APR_RING_DEBUG is defined.)
- * @param hp Head of the ring
- * @param elem The name of the element struct
- * @param link The name of the APR_RING_ENTRY in the element struct
- * @param msg Descriptive message
- */
-#define APR_RING_CHECK(hp, elem, link, msg)
-/**
- * Loops around a ring and checks all the pointers for consistency. Pops
- * an assertion if any inconsistency is found. Same idea as APR_RING_CHECK()
- * except that it's silent if all is well.
- * (This is a no-op unless APR_RING_DEBUG is defined.)
- * @param hp Head of the ring
- * @param elem The name of the element struct
- * @param link The name of the APR_RING_ENTRY in the element struct
- */
-#define APR_RING_CHECK_CONSISTENCY(hp, elem, link)
-/**
- * Dump all ring pointers to STDERR, starting with the given element and
- * looping all the way around the ring back to that element. Aborts if
- * an inconsistency is found.
- * (This is a no-op unless APR_RING_DEBUG is defined.)
- * @param ep The element
- * @param elem The name of the element struct
- * @param link The name of the APR_RING_ENTRY in the element struct
- * @param msg Descriptive message
- */
-#define APR_RING_CHECK_ELEM(ep, elem, link, msg)
-/**
- * Loops around a ring, starting with the given element, and checks all
- * the pointers for consistency. Pops an assertion if any inconsistency
- * is found. Same idea as APR_RING_CHECK_ELEM() except that it's silent
- * if all is well.
- * (This is a no-op unless APR_RING_DEBUG is defined.)
- * @param ep The element
- * @param elem The name of the element struct
- * @param link The name of the APR_RING_ENTRY in the element struct
- */
-#define APR_RING_CHECK_ELEM_CONSISTENCY(ep, elem, link)
-#endif
-
-/** @} */
-
-#endif /* !APR_RING_H */
diff --git a/rubbos/app/apache2/include/apr_rmm.h b/rubbos/app/apache2/include/apr_rmm.h
deleted file mode 100644
index a1f0d676..00000000
--- a/rubbos/app/apache2/include/apr_rmm.h
+++ /dev/null
@@ -1,137 +0,0 @@
-/* Copyright 2000-2005 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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 APR_RMM_H
-#define APR_RMM_H
-/**
- * @file apr_rmm.h
- * @brief APR-UTIL Relocatable Memory Management Routines
- */
-/**
- * @defgroup APR_Util_RMM Relocatable Memory Management Routines
- * @ingroup APR_Util
- * @{
- */
-
-#include "apr.h"
-#include "apr_pools.h"
-#include "apr_errno.h"
-#include "apu.h"
-#include "apr_anylock.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/** Structure to access Relocatable, Managed Memory */
-typedef struct apr_rmm_t apr_rmm_t;
-
-/** Fundamental allocation unit, within a specific apr_rmm_t */
-typedef apr_size_t apr_rmm_off_t;
-
-/**
- * Initialize a relocatable memory block to be managed by the apr_rmm API.
- * @param rmm The relocatable memory block
- * @param lock An apr_anylock_t of the appropriate type of lock, or NULL
- * if no locking is required.
- * @param membuf The block of relocatable memory to be managed
- * @param memsize The size of relocatable memory block to be managed
- * @param cont The pool to use for local storage and management
- * @remark Both @param membuf and @param memsize must be aligned
- * (for instance using APR_ALIGN_DEFAULT).
- */
-APU_DECLARE(apr_status_t) apr_rmm_init(apr_rmm_t **rmm, apr_anylock_t *lock,
- void *membuf, apr_size_t memsize,
- apr_pool_t *cont);
-
-/**
- * Destroy a managed memory block.
- * @param rmm The relocatable memory block to destroy
- */
-APU_DECLARE(apr_status_t) apr_rmm_destroy(apr_rmm_t *rmm);
-
-/**
- * Attach to a relocatable memory block already managed by the apr_rmm API.
- * @param rmm The relocatable memory block
- * @param lock An apr_anylock_t of the appropriate type of lock
- * @param membuf The block of relocatable memory already under management
- * @param cont The pool to use for local storage and management
- */
-APU_DECLARE(apr_status_t) apr_rmm_attach(apr_rmm_t **rmm, apr_anylock_t *lock,
- void *membuf, apr_pool_t *cont);
-
-/**
- * Detach from the managed block of memory.
- * @param rmm The relocatable memory block to detach from
- */
-APU_DECLARE(apr_status_t) apr_rmm_detach(apr_rmm_t *rmm);
-
-/**
- * Allocate memory from the block of relocatable memory.
- * @param rmm The relocatable memory block
- * @param reqsize How much memory to allocate
- */
-APU_DECLARE(apr_rmm_off_t) apr_rmm_malloc(apr_rmm_t *rmm, apr_size_t reqsize);
-
-/**
- * Realloc memory from the block of relocatable memory.
- * @param rmm The relocatable memory block
- * @param entity The memory allocation to realloc
- * @param reqsize The new size
- */
-APU_DECLARE(apr_rmm_off_t) apr_rmm_realloc(apr_rmm_t *rmm, void *entity, apr_size_t reqsize);
-
-/**
- * Allocate memory from the block of relocatable memory and initialize it to zero.
- * @param rmm The relocatable memory block
- * @param reqsize How much memory to allocate
- */
-APU_DECLARE(apr_rmm_off_t) apr_rmm_calloc(apr_rmm_t *rmm, apr_size_t reqsize);
-
-/**
- * Free allocation returned by apr_rmm_malloc or apr_rmm_calloc.
- * @param rmm The relocatable memory block
- * @param entity The memory allocation to free
- */
-APU_DECLARE(apr_status_t) apr_rmm_free(apr_rmm_t *rmm, apr_rmm_off_t entity);
-
-/**
- * Retrieve the physical address of a relocatable allocation of memory
- * @param rmm The relocatable memory block
- * @param entity The memory allocation to free
- * @return address The address, aligned with APR_ALIGN_DEFAULT.
- */
-APU_DECLARE(void *) apr_rmm_addr_get(apr_rmm_t *rmm, apr_rmm_off_t entity);
-
-/**
- * Compute the offset of a relocatable allocation of memory
- * @param rmm The relocatable memory block
- * @param entity The physical address to convert to an offset
- */
-APU_DECLARE(apr_rmm_off_t) apr_rmm_offset_get(apr_rmm_t *rmm, void *entity);
-
-/**
- * Compute the required overallocation of memory needed to fit n allocs
- * @param n The number of alloc/calloc regions desired
- */
-APU_DECLARE(apr_size_t) apr_rmm_overhead_get(int n);
-
-#ifdef __cplusplus
-}
-#endif
-/** @} */
-#endif /* ! APR_RMM_H */
-
diff --git a/rubbos/app/apache2/include/apr_sdbm.h b/rubbos/app/apache2/include/apr_sdbm.h
deleted file mode 100644
index 7fcf7f6e..00000000
--- a/rubbos/app/apache2/include/apr_sdbm.h
+++ /dev/null
@@ -1,175 +0,0 @@
-/* Copyright 2000-2005 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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.
- */
-
-/*
- * sdbm - ndbm work-alike hashed database library
- * based on Per-Ake Larson's Dynamic Hashing algorithms. BIT 18 (1978).
- * author: oz@nexus.yorku.ca
- * status: ex-public domain
- */
-
-#ifndef APR_SDBM_H
-#define APR_SDBM_H
-
-#include "apu.h"
-#include "apr_errno.h"
-#include "apr_file_io.h" /* for apr_fileperms_t */
-
-/**
- * @file apr_sdbm.h
- * @brief apr-util SDBM library
- */
-/**
- * @defgroup APR_Util_DBM_SDBM SDBM library
- * @ingroup APR_Util_DBM
- * @{
- */
-
-/**
- * Structure for referencing an sdbm
- */
-typedef struct apr_sdbm_t apr_sdbm_t;
-
-/**
- * Structure for referencing the datum record within an sdbm
- */
-typedef struct {
- /** pointer to the data stored/retrieved */
- char *dptr;
- /** size of data */
- int dsize;
-} apr_sdbm_datum_t;
-
-/* The extensions used for the database files */
-/** SDBM Directory file extension */
-#define APR_SDBM_DIRFEXT ".dir"
-/** SDBM page file extension */
-#define APR_SDBM_PAGFEXT ".pag"
-
-/* flags to sdbm_store */
-#define APR_SDBM_INSERT 0 /**< Insert */
-#define APR_SDBM_REPLACE 1 /**< Replace */
-#define APR_SDBM_INSERTDUP 2 /**< Insert with duplicates */
-
-/**
- * Open an sdbm database by file name
- * @param db The newly opened database
- * @param name The sdbm file to open
- * @param mode The flag values (APR_READ and APR_BINARY flags are implicit)
- * <PRE>
- * APR_WRITE open for read-write access
- * APR_CREATE create the sdbm if it does not exist
- * APR_TRUNCATE empty the contents of the sdbm
- * APR_EXCL fail for APR_CREATE if the file exists
- * APR_DELONCLOSE delete the sdbm when closed
- * APR_SHARELOCK support locking across process/machines
- * </PRE>
- * @param perms Permissions to apply to if created
- * @param p The pool to use when creating the sdbm
- * @remark The sdbm name is not a true file name, as sdbm appends suffixes
- * for seperate data and index files.
- */
-APU_DECLARE(apr_status_t) apr_sdbm_open(apr_sdbm_t **db, const char *name,
- apr_int32_t mode,
- apr_fileperms_t perms, apr_pool_t *p);
-
-/**
- * Close an sdbm file previously opened by apr_sdbm_open
- * @param db The database to close
- */
-APU_DECLARE(apr_status_t) apr_sdbm_close(apr_sdbm_t *db);
-
-/**
- * Lock an sdbm database for concurency of multiple operations
- * @param db The database to lock
- * @param type The lock type
- * <PRE>
- * APR_FLOCK_SHARED
- * APR_FLOCK_EXCLUSIVE
- * </PRE>
- * @remark Calls to apr_sdbm_lock may be nested. All apr_sdbm functions
- * perform implicit locking. Since an APR_FLOCK_SHARED lock cannot be
- * portably promoted to an APR_FLOCK_EXCLUSIVE lock, apr_sdbm_store and
- * apr_sdbm_delete calls will fail if an APR_FLOCK_SHARED lock is held.
- * The apr_sdbm_lock call requires the database to be opened with the
- * APR_SHARELOCK mode value.
- */
-APU_DECLARE(apr_status_t) apr_sdbm_lock(apr_sdbm_t *db, int type);
-
-/**
- * Release an sdbm lock previously aquired by apr_sdbm_lock
- * @param db The database to unlock
- */
-APU_DECLARE(apr_status_t) apr_sdbm_unlock(apr_sdbm_t *db);
-
-/**
- * Fetch an sdbm record value by key
- * @param db The database
- * @param value The value datum retrieved for this record
- * @param key The key datum to find this record
- */
-APU_DECLARE(apr_status_t) apr_sdbm_fetch(apr_sdbm_t *db,
- apr_sdbm_datum_t *value,
- apr_sdbm_datum_t key);
-
-/**
- * Store an sdbm record value by key
- * @param db The database
- * @param key The key datum to store this record by
- * @param value The value datum to store in this record
- * @param opt The method used to store the record
- * <PRE>
- * APR_SDBM_INSERT return an error if the record exists
- * APR_SDBM_REPLACE overwrite any existing record for key
- * </PRE>
- */
-APU_DECLARE(apr_status_t) apr_sdbm_store(apr_sdbm_t *db, apr_sdbm_datum_t key,
- apr_sdbm_datum_t value, int opt);
-
-/**
- * Delete an sdbm record value by key
- * @param db The database
- * @param key The key datum of the record to delete
- * @remark It is not an error to delete a non-existent record.
- */
-APU_DECLARE(apr_status_t) apr_sdbm_delete(apr_sdbm_t *db,
- const apr_sdbm_datum_t key);
-
-/**
- * Retrieve the first record key from a dbm
- * @param db The database
- * @param key The key datum of the first record
- * @remark The keys returned are not ordered. To traverse the list of keys
- * for an sdbm opened with APR_SHARELOCK, the caller must use apr_sdbm_lock
- * prior to retrieving the first record, and hold the lock until after the
- * last call to apr_sdbm_nextkey.
- */
-APU_DECLARE(apr_status_t) apr_sdbm_firstkey(apr_sdbm_t *db, apr_sdbm_datum_t *key);
-
-/**
- * Retrieve the next record key from an sdbm
- * @param db The database
- * @param key The key datum of the next record
- */
-APU_DECLARE(apr_status_t) apr_sdbm_nextkey(apr_sdbm_t *db, apr_sdbm_datum_t *key);
-
-/**
- * Returns true if the sdbm database opened for read-only access
- * @param db The database to test
- */
-APU_DECLARE(int) apr_sdbm_rdonly(apr_sdbm_t *db);
-/** @} */
-#endif /* APR_SDBM_H */
diff --git a/rubbos/app/apache2/include/apr_sha1.h b/rubbos/app/apache2/include/apr_sha1.h
deleted file mode 100644
index 1ad50655..00000000
--- a/rubbos/app/apache2/include/apr_sha1.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/* Copyright 2001-2005 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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.
- */
-/* NIST Secure Hash Algorithm
- * heavily modified by Uwe Hollerbach uh@alumni.caltech edu
- * from Peter C. Gutmann's implementation as found in
- * Applied Cryptography by Bruce Schneier
- * This code is hereby placed in the public domain
- */
-
-#ifndef APR_SHA1_H
-#define APR_SHA1_H
-
-#include "apu.h"
-#include "apr_general.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @file apr_sha1.h
- * @brief APR-UTIL SHA1 library
- */
-
-/** size of the SHA1 DIGEST */
-#define APR_SHA1_DIGESTSIZE 20
-
-/**
- * Define the Magic String prefix that identifies a password as being
- * hashed using our algorithm.
- */
-#define APR_SHA1PW_ID "{SHA}"
-
-/** length of the SHA Password */
-#define APR_SHA1PW_IDLEN 5
-
-/** @see apr_sha1_ctx_t */
-typedef struct apr_sha1_ctx_t apr_sha1_ctx_t;
-
-/**
- * SHA1 context structure
- */
-struct apr_sha1_ctx_t {
- /** message digest */
- apr_uint32_t digest[5];
- /** 64-bit bit counts */
- apr_uint32_t count_lo, count_hi;
- /** SHA data buffer */
- apr_uint32_t data[16];
- /** unprocessed amount in data */
- int local;
-};
-
-/**
- * Provide a means to SHA1 crypt/encode a plaintext password in a way which
- * makes password file compatible with those commonly use in netscape web
- * and ldap installations.
- * @param clear The plaintext password
- * @param len The length of the plaintext password
- * @param out The encrypted/encoded password
- * @note SHA1 support is useful for migration purposes, but is less
- * secure than Apache's password format, since Apache's (MD5)
- * password format uses a random eight character salt to generate
- * one of many possible hashes for the same password. Netscape
- * uses plain SHA1 without a salt, so the same password
- * will always generate the same hash, making it easier
- * to break since the search space is smaller.
- */
-APU_DECLARE(void) apr_sha1_base64(const char *clear, int len, char *out);
-
-/**
- * Initialize the SHA digest
- * @param context The SHA context to initialize
- */
-APU_DECLARE(void) apr_sha1_init(apr_sha1_ctx_t *context);
-
-/**
- * Update the SHA digest
- * @param context The SHA1 context to update
- * @param input The buffer to add to the SHA digest
- * @param inputLen The length of the input buffer
- */
-APU_DECLARE(void) apr_sha1_update(apr_sha1_ctx_t *context, const char *input,
- unsigned int inputLen);
-
-/**
- * Update the SHA digest with binary data
- * @param context The SHA1 context to update
- * @param input The buffer to add to the SHA digest
- * @param inputLen The length of the input buffer
- */
-APU_DECLARE(void) apr_sha1_update_binary(apr_sha1_ctx_t *context,
- const unsigned char *input,
- unsigned int inputLen);
-
-/**
- * Finish computing the SHA digest
- * @param digest the output buffer in which to store the digest
- * @param context The context to finalize
- */
-APU_DECLARE(void) apr_sha1_final(unsigned char digest[APR_SHA1_DIGESTSIZE],
- apr_sha1_ctx_t *context);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* APR_SHA1_H */
diff --git a/rubbos/app/apache2/include/apr_shm.h b/rubbos/app/apache2/include/apr_shm.h
deleted file mode 100644
index 5373f6a7..00000000
--- a/rubbos/app/apache2/include/apr_shm.h
+++ /dev/null
@@ -1,127 +0,0 @@
-/* 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 APR_SHM_H
-#define APR_SHM_H
-
-/**
- * @file apr_shm.h
- * @brief APR Shared Memory Routines
- */
-
-#include "apr.h"
-#include "apr_pools.h"
-#include "apr_errno.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @defgroup apr_shm Shared Memory Routines
- * @ingroup APR
- * @{
- */
-
-/**
- * Private, platform-specific data struture representing a shared memory
- * segment.
- */
-typedef struct apr_shm_t apr_shm_t;
-
-/**
- * Create and make accessable a shared memory segment.
- * @param m The shared memory structure to create.
- * @param reqsize The desired size of the segment.
- * @param filename The file to use for shared memory on platforms that
- * require it.
- * @param pool the pool from which to allocate the shared memory
- * structure.
- * @remark A note about Anonymous vs. Named shared memory segments:
- * Not all plaforms support anonymous shared memory segments, but in
- * some cases it is prefered over other types of shared memory
- * implementations. Passing a NULL 'file' parameter to this function
- * will cause the subsystem to use anonymous shared memory segments.
- * If such a system is not available, APR_ENOTIMPL is returned.
- * @remark A note about allocation sizes:
- * On some platforms it is necessary to store some metainformation
- * about the segment within the actual segment. In order to supply
- * the caller with the requested size it may be necessary for the
- * implementation to request a slightly greater segment length
- * from the subsystem. In all cases, the apr_shm_baseaddr_get()
- * function will return the first usable byte of memory.
- *
- */
-APR_DECLARE(apr_status_t) apr_shm_create(apr_shm_t **m,
- apr_size_t reqsize,
- const char *filename,
- apr_pool_t *pool);
-
-/**
- * Destroy a shared memory segment and associated memory.
- * @param m The shared memory segment structure to destroy.
- */
-APR_DECLARE(apr_status_t) apr_shm_destroy(apr_shm_t *m);
-
-/**
- * Attach to a shared memory segment that was created
- * by another process.
- * @param m The shared memory structure to create.
- * @param filename The file used to create the original segment.
- * (This MUST match the original filename.)
- * @param pool the pool from which to allocate the shared memory
- * structure for this process.
- */
-APR_DECLARE(apr_status_t) apr_shm_attach(apr_shm_t **m,
- const char *filename,
- apr_pool_t *pool);
-
-/**
- * Detach from a shared memory segment without destroying it.
- * @param m The shared memory structure representing the segment
- * to detach from.
- */
-APR_DECLARE(apr_status_t) apr_shm_detach(apr_shm_t *m);
-
-/**
- * Retrieve the base address of the shared memory segment.
- * NOTE: This address is only usable within the callers address
- * space, since this API does not guarantee that other attaching
- * processes will maintain the same address mapping.
- * @param m The shared memory segment from which to retrieve
- * the base address.
- */
-APR_DECLARE(void *) apr_shm_baseaddr_get(const apr_shm_t *m);
-
-/**
- * Retrieve the length of a shared memory segment in bytes.
- * @param m The shared memory segment from which to retrieve
- * the segment length.
- */
-APR_DECLARE(apr_size_t) apr_shm_size_get(const apr_shm_t *m);
-
-/**
- * Get the pool used by this shared memory segment.
- */
-APR_POOL_DECLARE_ACCESSOR(shm);
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* APR_SHM_T */
diff --git a/rubbos/app/apache2/include/apr_signal.h b/rubbos/app/apache2/include/apr_signal.h
deleted file mode 100644
index 7f4940a0..00000000
--- a/rubbos/app/apache2/include/apr_signal.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/* 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 APR_SIGNAL_H
-#define APR_SIGNAL_H
-
-/**
- * @file apr_signal.h
- * @brief APR Signal Handling
- */
-
-#include "apr.h"
-#include "apr_pools.h"
-
-#if APR_HAVE_SIGNAL_H
-#include <signal.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @defgroup apr_signal Handling
- * @ingroup APR
- * @{
- */
-
-#if APR_HAVE_SIGACTION || defined(DOXYGEN)
-
-#if defined(DARWIN) && !defined(__cplusplus) && !defined(_ANSI_SOURCE)
-/* work around Darwin header file bugs
- * http://www.opensource.apple.com/bugs/X/BSD%20Kernel/2657228.html
- */
-#undef SIG_DFL
-#undef SIG_IGN
-#undef SIG_ERR
-#define SIG_DFL (void (*)(int))0
-#define SIG_IGN (void (*)(int))1
-#define SIG_ERR (void (*)(int))-1
-#endif
-
-/** Function prototype for signal handlers */
-typedef void apr_sigfunc_t(int);
-
-/**
- * Set the signal handler function for a given signal
- * @param signo The signal (eg... SIGWINCH)
- * @param func the function to get called
- */
-APR_DECLARE(apr_sigfunc_t *) apr_signal(int signo, apr_sigfunc_t * func);
-
-#if defined(SIG_IGN) && !defined(SIG_ERR)
-#define SIG_ERR ((apr_sigfunc_t *) -1)
-#endif
-
-#else /* !APR_HAVE_SIGACTION */
-#define apr_signal(a, b) signal(a, b)
-#endif
-
-
-/**
- * Get the description for a specific signal number
- * @param signum The signal number
- * @return The description of the signal
- */
-APR_DECLARE(const char *) apr_signal_description_get(int signum);
-
-/** @deprecated @see apr_signal_description_get */
-APR_DECLARE(const char *) apr_signal_get_description(int signum);
-
-/**
- * APR-private function for initializing the signal package
- * @internal
- * @param pglobal The internal, global pool
- */
-void apr_signal_init(apr_pool_t *pglobal);
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* APR_SIGNAL_H */
diff --git a/rubbos/app/apache2/include/apr_strings.h b/rubbos/app/apache2/include/apr_strings.h
deleted file mode 100644
index 24cfbdf8..00000000
--- a/rubbos/app/apache2/include/apr_strings.h
+++ /dev/null
@@ -1,337 +0,0 @@
-/* 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.
- */
-
-/* Portions of this file are covered by */
-/* -*- mode: c; c-file-style: "k&r" -*-
-
- strnatcmp.c -- Perform 'natural order' comparisons of strings in C.
- Copyright (C) 2000 by Martin Pool <mbp@humbug.org.au>
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-*/
-
-#ifndef APR_STRINGS_H
-#define APR_STRINGS_H
-
-/**
- * @file apr_strings.h
- * @brief APR Strings library
- */
-
-#include "apr.h"
-#include "apr_errno.h"
-#include "apr_pools.h"
-#define APR_WANT_IOVEC
-#include "apr_want.h"
-
-#if APR_HAVE_STDARG_H
-#include <stdarg.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @defgroup apr_strings String routines
- * @ingroup APR
- * @{
- */
-
-/**
- * Do a natural order comparison of two strings.
- * @param a The first string to compare
- * @param b The second string to compare
- * @return Either <0, 0, or >0. If the first string is less than the second
- * this returns <0, if they are equivalent it returns 0, and if the
- * first string is greater than second string it retuns >0.
- */
-APR_DECLARE(int) apr_strnatcmp(char const *a, char const *b);
-
-/**
- * Do a natural order comparison of two strings ignoring the case of the
- * strings.
- * @param a The first string to compare
- * @param b The second string to compare
- * @return Either <0, 0, or >0. If the first string is less than the second
- * this returns <0, if they are equivalent it returns 0, and if the
- * first string is greater than second string it retuns >0.
- */
-APR_DECLARE(int) apr_strnatcasecmp(char const *a, char const *b);
-
-/**
- * duplicate a string into memory allocated out of a pool
- * @param p The pool to allocate out of
- * @param s The string to duplicate
- * @return The new string
- */
-APR_DECLARE(char *) apr_pstrdup(apr_pool_t *p, const char *s);
-
-/**
- * Create a null-terminated string by making a copy of a sequence
- * of characters and appending a null byte
- * @param p The pool to allocate out of
- * @param s The block of characters to duplicate
- * @param n The number of characters to duplicate
- * @return The new string
- * @remark This is a faster alternative to apr_pstrndup, for use
- * when you know that the string being duplicated really
- * has 'n' or more characters. If the string might contain
- * fewer characters, use apr_pstrndup.
- */
-APR_DECLARE(char *) apr_pstrmemdup(apr_pool_t *p, const char *s, apr_size_t n);
-
-/**
- * Duplicate at most n characters of a string into memory allocated
- * out of a pool; the new string will be NUL-terminated
- * @param p The pool to allocate out of
- * @param s The string to duplicate
- * @param n The maximum number of characters to duplicate
- * @return The new string
- * @remark The amount of memory allocated from the pool is the length
- * of the returned string including the NUL terminator
- */
-APR_DECLARE(char *) apr_pstrndup(apr_pool_t *p, const char *s, apr_size_t n);
-
-/**
- * Duplicate a block of memory.
- *
- * @param p The pool to allocate from
- * @param m The memory to duplicate
- * @param n The number of bytes to duplicate
- * @return The new block of memory
- */
-APR_DECLARE(void *) apr_pmemdup(apr_pool_t *p, const void *m, apr_size_t n);
-
-/**
- * Concatenate multiple strings, allocating memory out a pool
- * @param p The pool to allocate out of
- * @param ... The strings to concatenate. The final string must be NULL
- * @return The new string
- */
-APR_DECLARE_NONSTD(char *) apr_pstrcat(apr_pool_t *p, ...);
-
-/**
- * Concatenate multiple strings specified in a writev-style vector
- * @param p The pool from which to allocate
- * @param vec The strings to concatenate
- * @param nvec The number of strings to concatenate
- * @param nbytes (output) strlen of new string (pass in NULL to omit)
- * @return The new string
- */
-APR_DECLARE(char *) apr_pstrcatv(apr_pool_t *p, const struct iovec *vec,
- apr_size_t nvec, apr_size_t *nbytes);
-
-/**
- * printf-style style printing routine. The data is output to a string
- * allocated from a pool
- * @param p The pool to allocate out of
- * @param fmt The format of the string
- * @param ap The arguments to use while printing the data
- * @return The new string
- */
-APR_DECLARE(char *) apr_pvsprintf(apr_pool_t *p, const char *fmt, va_list ap);
-
-/**
- * printf-style style printing routine. The data is output to a string
- * allocated from a pool
- * @param p The pool to allocate out of
- * @param fmt The format of the string
- * @param ... The arguments to use while printing the data
- * @return The new string
- */
-APR_DECLARE_NONSTD(char *) apr_psprintf(apr_pool_t *p, const char *fmt, ...)
- __attribute__((format(printf,2,3)));
-
-/**
- * copy n characters from src to dst
- * @param dst The destination string
- * @param src The source string
- * @param dst_size The space available in dst; dst always receives
- * null-termination, so if src is longer than
- * dst_size, the actual number of characters copied is
- * dst_size - 1.
- * @remark
- * <PRE>
- * We re-implement this function to implement these specific changes:
- * 1) strncpy() doesn't always null terminate and we want it to.
- * 2) strncpy() null fills, which is bogus, esp. when copy 8byte strings
- * into 8k blocks.
- * 3) Instead of returning the pointer to the beginning of the
- * destination string, we return a pointer to the terminating null
- * to allow us to check for truncation.
- * </PRE>
- */
-APR_DECLARE(char *) apr_cpystrn(char *dst, const char *src,
- apr_size_t dst_size);
-
-/**
- * Strip spaces from a string
- * @param dest The destination string. It is okay to modify the string
- * in place. Namely dest == src
- * @param src The string to rid the spaces from.
- */
-APR_DECLARE(char *) apr_collapse_spaces(char *dest, const char *src);
-
-/**
- * Convert the arguments to a program from one string to an array of
- * strings terminated by a NULL pointer
- * @param arg_str The arguments to convert
- * @param argv_out Output location. This is a pointer to an array of strings.
- * @param token_context Pool to use.
- */
-APR_DECLARE(apr_status_t) apr_tokenize_to_argv(const char *arg_str,
- char ***argv_out,
- apr_pool_t *token_context);
-
-/**
- * Split a string into separate null-terminated tokens. The tokens are
- * delimited in the string by one or more characters from the sep
- * argument.
- * @param str The string to separate; this should be specified on the
- * first call to apr_strtok() for a given string, and NULL
- * on subsequent calls.
- * @param sep The set of delimiters
- * @param last Internal state saved by apr_strtok() between calls.
- * @return The next token from the string
- */
-APR_DECLARE(char *) apr_strtok(char *str, const char *sep, char **last);
-
-/**
- * @defgroup APR_Strings_Snprintf snprintf implementations
- * @warning
- * These are snprintf implementations based on apr_vformatter().
- *
- * Note that various standards and implementations disagree on the return
- * value of snprintf, and side-effects due to %n in the formatting string.
- * apr_snprintf (and apr_vsnprintf) behaves as follows:
- *
- * Process the format string until the entire string is exhausted, or
- * the buffer fills. If the buffer fills then stop processing immediately
- * (so no further %n arguments are processed), and return the buffer
- * length. In all cases the buffer is NUL terminated. It will return the
- * number of characters inserted into the buffer, not including the
- * terminating NUL. As a special case, if len is 0, apr_snprintf will
- * return the number of characters that would have been inserted if
- * the buffer had been infinite (in this case, *buffer can be NULL)
- *
- * In no event does apr_snprintf return a negative number.
- * @{
- */
-
-/**
- * snprintf routine based on apr_vformatter. This means it understands the
- * same extensions.
- * @param buf The buffer to write to
- * @param len The size of the buffer
- * @param format The format string
- * @param ... The arguments to use to fill out the format string.
- */
-APR_DECLARE_NONSTD(int) apr_snprintf(char *buf, apr_size_t len,
- const char *format, ...)
- __attribute__((format(printf,3,4)));
-
-/**
- * vsnprintf routine based on apr_vformatter. This means it understands the
- * same extensions.
- * @param buf The buffer to write to
- * @param len The size of the buffer
- * @param format The format string
- * @param ap The arguments to use to fill out the format string.
- */
-APR_DECLARE(int) apr_vsnprintf(char *buf, apr_size_t len, const char *format,
- va_list ap);
-/** @} */
-
-/**
- * create a string representation of an int, allocated from a pool
- * @param p The pool from which to allocate
- * @param n The number to format
- * @return The string representation of the number
- */
-APR_DECLARE(char *) apr_itoa(apr_pool_t *p, int n);
-
-/**
- * create a string representation of a long, allocated from a pool
- * @param p The pool from which to allocate
- * @param n The number to format
- * @return The string representation of the number
- */
-APR_DECLARE(char *) apr_ltoa(apr_pool_t *p, long n);
-
-/**
- * create a string representation of an apr_off_t, allocated from a pool
- * @param p The pool from which to allocate
- * @param n The number to format
- * @return The string representation of the number
- */
-APR_DECLARE(char *) apr_off_t_toa(apr_pool_t *p, apr_off_t n);
-
-/**
- * parse a numeric string into a 64-bit numeric value
- * @param buf The string to parse. It may contain optional whitespace,
- * followed by an optional '+' (positive, default) or '-' (negative)
- * character, followed by an optional '0x' prefix if base is 0 or 16,
- * followed by numeric digits appropriate for base.
- * @param end A pointer to the end of the valid character in buf. If
- * not nil, it is set to the first invalid character in buf.
- * @param base A numeric base in the range between 2 and 36 inclusive,
- * or 0. If base is zero, buf will be treated as base ten unless its
- * digits are prefixed with '0x', in which case it will be treated as
- * base 16.
- * @return The numeric value of the string.
- */
-APR_DECLARE(apr_int64_t) apr_strtoi64(const char *buf, char **end, int base);
-
-/**
- * parse a base-10 numeric string into a 64-bit numeric value.
- * Equivalent to apr_strtoi64(buf, (char**)NULL, 10).
- * @param buf The string to parse
- * @return The numeric value of the string
- */
-APR_DECLARE(apr_int64_t) apr_atoi64(const char *buf);
-
-/**
- * Format a binary size (magnitiudes are 2^10 rather than 10^3) from an apr_off_t,
- * as bytes, K, M, T, etc, to a four character compacted human readable string.
- * @param size The size to format
- * @param buf The 5 byte text buffer (counting the trailing null)
- * @return The buf passed to apr_strfsize()
- * @remark All negative sizes report ' - ', apr_strfsize only formats positive values.
- */
-APR_DECLARE(char *) apr_strfsize(apr_off_t size, char *buf);
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !APR_STRINGS_H */
diff --git a/rubbos/app/apache2/include/apr_strmatch.h b/rubbos/app/apache2/include/apr_strmatch.h
deleted file mode 100644
index 4753318b..00000000
--- a/rubbos/app/apache2/include/apr_strmatch.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/* Copyright 2002-2005 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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 APR_STRMATCH_H
-#define APR_STRMATCH_H
-/**
- * @file apr_strmatch.h
- * @brief APR-UTIL string matching routines
- */
-
-#include "apu.h"
-#include "apr_pools.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @defgroup APR_Util_StrMatch String matching routines
- * @ingroup APR_Util
- * @{
- */
-
-/** @see apr_strmatch_pattern */
-typedef struct apr_strmatch_pattern apr_strmatch_pattern;
-
-/**
- * Precompiled search pattern
- */
-struct apr_strmatch_pattern {
- /** Function called to compare */
- const char *(*compare)(const apr_strmatch_pattern *this_pattern,
- const char *s, apr_size_t slen);
- const char *pattern; /**< Current pattern */
- apr_size_t length; /**< Current length */
- void *context; /**< hook to add precomputed metadata */
-};
-
-#if defined(DOXYGEN)
-/**
- * Search for a precompiled pattern within a string
- * @param pattern The pattern
- * @param s The string in which to search for the pattern
- * @param slen The length of s (excluding null terminator)
- * @return A pointer to the first instance of the pattern in s, or
- * NULL if not found
- */
-APU_DECLARE(const char *) apr_strmatch(const apr_strmatch_pattern *pattern,
- const char *s, apr_size_t slen);
-#else
-#define apr_strmatch(pattern, s, slen) (*((pattern)->compare))((pattern), (s), (slen))
-#endif
-
-/**
- * Precompile a pattern for matching using the Boyer-Moore-Horspool algorithm
- * @param p The pool from which to allocate the pattern
- * @param s The pattern string
- * @param case_sensitive Whether the matching should be case-sensitive
- * @return a pointer to the compiled pattern, or NULL if compilation fails
- */
-APU_DECLARE(const apr_strmatch_pattern *) apr_strmatch_precompile(apr_pool_t *p, const char *s, int case_sensitive);
-
-/** @} */
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !APR_STRMATCH_H */
diff --git a/rubbos/app/apache2/include/apr_support.h b/rubbos/app/apache2/include/apr_support.h
deleted file mode 100644
index ee31860f..00000000
--- a/rubbos/app/apache2/include/apr_support.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* 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 APR_SUPPORT_H
-#define APR_SUPPORT_H
-
-/**
- * @file apr_support.h
- * @brief APR Support functions
- */
-
-#include "apr.h"
-#include "apr_network_io.h"
-#include "apr_file_io.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @defgroup apr_support Internal APR support functions
- * @ingroup APR
- * @{
- */
-
-/**
- * Wait for IO to occur or timeout.
- */
-apr_status_t apr_wait_for_io_or_timeout(apr_file_t *f, apr_socket_t *s,
- int for_read);
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ! APR_SUPPORT_H */
diff --git a/rubbos/app/apache2/include/apr_tables.h b/rubbos/app/apache2/include/apr_tables.h
deleted file mode 100644
index f286b5c7..00000000
--- a/rubbos/app/apache2/include/apr_tables.h
+++ /dev/null
@@ -1,422 +0,0 @@
-/* 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 APR_TABLES_H
-#define APR_TABLES_H
-
-/**
- * @file apr_tables.h
- * @brief APR Table library
- */
-
-#include "apr.h"
-#include "apr_pools.h"
-
-#if APR_HAVE_STDARG_H
-#include <stdarg.h> /* for va_list */
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @defgroup apr_tables Table and Array Functions
- * @ingroup APR
- * Tables are used to store entirely opaque structures
- * for applications, while Arrays are usually used to
- * deal with string lists.
- * @{
- */
-
-/** the table abstract data type */
-typedef struct apr_table_t apr_table_t;
-
-/** @see apr_array_header_t */
-typedef struct apr_array_header_t apr_array_header_t;
-
-/** An opaque array type */
-struct apr_array_header_t {
- /** The pool the array is allocated out of */
- apr_pool_t *pool;
- /** The amount of memory allocated for each element of the array */
- int elt_size;
- /** The number of active elements in the array */
- int nelts;
- /** The number of elements allocated in the array */
- int nalloc;
- /** The elements in the array */
- char *elts;
-};
-
-/**
- * The (opaque) structure for string-content tables.
- */
-typedef struct apr_table_entry_t apr_table_entry_t;
-
-/** The type for each entry in a string-content table */
-struct apr_table_entry_t {
- /** The key for the current table entry */
- char *key; /* maybe NULL in future;
- * check when iterating thru table_elts
- */
- /** The value for the current table entry */
- char *val;
-
- /** A checksum for the key, for use by the apr_table internals */
- apr_uint32_t key_checksum;
-};
-
-/**
- * Get the elements from a table
- * @param t The table
- * @return An array containing the contents of the table
- */
-APR_DECLARE(const apr_array_header_t *) apr_table_elts(const apr_table_t *t);
-
-/**
- * Determine if the table is empty
- * @param t The table to check
- * @return True if empty, False otherwise
- */
-APR_DECLARE(int) apr_is_empty_table(const apr_table_t *t);
-
-/**
- * Determine if the array is empty
- * @param a The array to check
- * @return True if empty, False otherwise
- */
-APR_DECLARE(int) apr_is_empty_array(const apr_array_header_t *a);
-
-/**
- * Create an array
- * @param p The pool to allocate the memory out of
- * @param nelts the number of elements in the initial array
- * @param elt_size The size of each element in the array.
- * @return The new array
- */
-APR_DECLARE(apr_array_header_t *) apr_array_make(apr_pool_t *p,
- int nelts, int elt_size);
-
-/**
- * Add a new element to an array
- * @param arr The array to add an element to.
- * @return Location for the new element in the array.
- * @remark If there are no free spots in the array, then this function will
- * allocate new space for the new element.
- */
-APR_DECLARE(void *) apr_array_push(apr_array_header_t *arr);
-
-/**
- * Remove an element from an array
- * @param arr The array to remove an element from.
- * @return Location of the element in the array.
- * @remark If there are no elements in the array, NULL is returned.
- */
-APR_DECLARE(void *) apr_array_pop(apr_array_header_t *arr);
-
-/**
- * Concatenate two arrays together
- * @param dst The destination array, and the one to go first in the combined
- * array
- * @param src The source array to add to the destination array
- */
-APR_DECLARE(void) apr_array_cat(apr_array_header_t *dst,
- const apr_array_header_t *src);
-
-/**
- * Copy the entire array
- * @param p The pool to allocate the copy of the array out of
- * @param arr The array to copy
- * @return An exact copy of the array passed in
- * @remark The alternate apr_array_copy_hdr copies only the header, and arranges
- * for the elements to be copied if (and only if) the code subsequently
- * does a push or arraycat.
- */
-APR_DECLARE(apr_array_header_t *) apr_array_copy(apr_pool_t *p,
- const apr_array_header_t *arr);
-/**
- * Copy the headers of the array, and arrange for the elements to be copied if
- * and only if the code subsequently does a push or arraycat.
- * @param p The pool to allocate the copy of the array out of
- * @param arr The array to copy
- * @return An exact copy of the array passed in
- * @remark The alternate apr_array_copy copies the *entire* array.
- */
-APR_DECLARE(apr_array_header_t *) apr_array_copy_hdr(apr_pool_t *p,
- const apr_array_header_t *arr);
-
-/**
- * Append one array to the end of another, creating a new array in the process.
- * @param p The pool to allocate the new array out of
- * @param first The array to put first in the new array.
- * @param second The array to put second in the new array.
- * @return A new array containing the data from the two arrays passed in.
-*/
-APR_DECLARE(apr_array_header_t *) apr_array_append(apr_pool_t *p,
- const apr_array_header_t *first,
- const apr_array_header_t *second);
-
-/**
- * Generates a new string from the apr_pool_t 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.
- * @param p The pool to allocate the string out of
- * @param arr The array to generate the string from
- * @param sep The separator to use
- * @return A string containing all of the data in the array.
- */
-APR_DECLARE(char *) apr_array_pstrcat(apr_pool_t *p,
- const apr_array_header_t *arr,
- const char sep);
-
-/**
- * Make a new table
- * @param p The pool to allocate the pool out of
- * @param nelts The number of elements in the initial table.
- * @return The new table.
- * @warning This table can only store text data
- */
-APR_DECLARE(apr_table_t *) apr_table_make(apr_pool_t *p, int nelts);
-
-/**
- * Create a new table and copy another table into it
- * @param p The pool to allocate the new table out of
- * @param t The table to copy
- * @return A copy of the table passed in
- */
-APR_DECLARE(apr_table_t *) apr_table_copy(apr_pool_t *p,
- const apr_table_t *t);
-
-/**
- * Delete all of the elements from a table
- * @param t The table to clear
- */
-APR_DECLARE(void) apr_table_clear(apr_table_t *t);
-
-/**
- * Get the value associated with a given key from the table. After this call,
- * The data is still in the table
- * @param t The table to search for the key
- * @param key The key to search for
- * @return The value associated with the key
- */
-APR_DECLARE(const char *) apr_table_get(const apr_table_t *t, const char *key);
-
-/**
- * Add a key/value pair to a table, if another element already exists with the
- * same key, this will over-write the old data.
- * @param t The table to add the data to.
- * @param key The key fo use
- * @param val The value to add
- * @remark When adding data, this function makes a copy of both the key and the
- * value.
- */
-APR_DECLARE(void) apr_table_set(apr_table_t *t, const char *key,
- const char *val);
-
-/**
- * Add a key/value pair to a table, if another element already exists with the
- * same key, this will over-write the old data.
- * @param t The table to add the data to.
- * @param key The key to use
- * @param val The value to add
- * @warning When adding data, this function does not make a copy of the key or
- * the value, so care should be taken to ensure that the values will
- * not change after they have been added..
- */
-APR_DECLARE(void) apr_table_setn(apr_table_t *t, const char *key,
- const char *val);
-
-/**
- * Remove data from the table
- * @param t The table to remove data from
- * @param key The key of the data being removed
- */
-APR_DECLARE(void) apr_table_unset(apr_table_t *t, const char *key);
-
-/**
- * Add data to a table by merging the value with data that has already been
- * stored
- * @param t The table to search for the data
- * @param key The key to merge data for
- * @param val The data to add
- * @remark If the key is not found, then this function acts like apr_table_add
- */
-APR_DECLARE(void) apr_table_merge(apr_table_t *t, const char *key,
- const char *val);
-
-/**
- * Add data to a table by merging the value with data that has already been
- * stored
- * @param t The table to search for the data
- * @param key The key to merge data for
- * @param val The data to add
- * @remark If the key is not found, then this function acts like apr_table_addn
- */
-APR_DECLARE(void) apr_table_mergen(apr_table_t *t, const char *key,
- const char *val);
-
-/**
- * Add data to a table, regardless of whether there is another element with the
- * same key.
- * @param t The table to add to
- * @param key The key to use
- * @param val The value to add.
- * @remark When adding data, this function makes a copy of both the key and the
- * value.
- */
-APR_DECLARE(void) apr_table_add(apr_table_t *t, const char *key,
- const char *val);
-
-/**
- * Add data to a table, regardless of whether there is another element with the
- * same key.
- * @param t The table to add to
- * @param key The key to use
- * @param val The value to add.
- * @remark When adding data, this function does not make a copy of the key or the
- * value, so care should be taken to ensure that the values will not
- * change after they have been added..
- */
-APR_DECLARE(void) apr_table_addn(apr_table_t *t, const char *key,
- const char *val);
-
-/**
- * Merge two tables into one new table
- * @param p The pool to use for the new table
- * @param overlay The first table to put in the new table
- * @param base The table to add at the end of the new table
- * @return A new table containing all of the data from the two passed in
- */
-APR_DECLARE(apr_table_t *) apr_table_overlay(apr_pool_t *p,
- const apr_table_t *overlay,
- const apr_table_t *base);
-
-/**
- * Declaration prototype for the iterator callback function of apr_table_do()
- * and apr_table_vdo().
- * @param rec The data passed as the first argument to apr_table_[v]do()
- * @param key The key from this iteration of the table
- * @param value The value from this iteration of the table
- * @remark Iteration continues while this callback function returns non-zero.
- * To export the callback function for apr_table_[v]do() it must be declared
- * in the _NONSTD convention.
- */
-typedef int (apr_table_do_callback_fn_t)(void *rec, const char *key,
- const char *value);
-
-/**
- * Iterate over a table running the provided function once for every
- * element in the table. If there is data passed in as a vararg, then the
- * function is only run on those elements whose key matches something in
- * the vararg. If the vararg is NULL, then every element is run through the
- * function. Iteration continues while the function returns non-zero.
- * @param comp The function to run
- * @param rec The data to pass as the first argument to the function
- * @param t The table to iterate over
- * @param ... The vararg. If this is NULL, then all elements in the table are
- * run through the function, otherwise only those whose key matches
- * are run.
- * @return FALSE if one of the comp() iterations returned zero; TRUE if all
- * iterations returned non-zero
- * @see apr_table_do_callback_fn_t
- */
-APR_DECLARE_NONSTD(int) apr_table_do(apr_table_do_callback_fn_t *comp,
- void *rec, const apr_table_t *t, ...);
-
-/**
- * Iterate over a table running the provided function once for every
- * element in the table. If there is data passed in as a vararg, then the
- * function is only run on those element's whose key matches something in
- * the vararg. If the vararg is NULL, then every element is run through the
- * function. Iteration continues while the function returns non-zero.
- * @param comp The function to run
- * @param rec The data to pass as the first argument to the function
- * @param t The table to iterate over
- * @param vp The vararg table. If this is NULL, then all elements in the
- * table are run through the function, otherwise only those
- * whose key matches are run.
- * @return FALSE if one of the comp() iterations returned zero; TRUE if all
- * iterations returned non-zero
- * @see apr_table_do_callback_fn_t
- */
-APR_DECLARE(int) apr_table_vdo(apr_table_do_callback_fn_t *comp,
- void *rec, const apr_table_t *t, va_list vp);
-
-/** flag for overlap to use apr_table_setn */
-#define APR_OVERLAP_TABLES_SET (0)
-/** flag for overlap to use apr_table_mergen */
-#define APR_OVERLAP_TABLES_MERGE (1)
-/**
- * For each element in table b, either use setn or mergen to add the data
- * to table a. Which method is used is determined by the flags passed in.
- * @param a The table to add the data to.
- * @param b The table to iterate over, adding its data to table a
- * @param flags How to add the table to table a. One of:
- * APR_OVERLAP_TABLES_SET Use apr_table_setn
- * APR_OVERLAP_TABLES_MERGE Use apr_table_mergen
- * @remark This function is highly optimized, and uses less memory and CPU cycles
- * than a function that just loops through table b calling other functions.
- */
-/**
- *<PRE>
- * Conceptually, apr_table_overlap does this:
- *
- * apr_array_header_t *barr = apr_table_elts(b);
- * apr_table_entry_t *belt = (apr_table_entry_t *)barr->elts;
- * int i;
- *
- * for (i = 0; i < barr->nelts; ++i) {
- * if (flags & APR_OVERLAP_TABLES_MERGE) {
- * apr_table_mergen(a, belt[i].key, belt[i].val);
- * }
- * else {
- * apr_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.
- * </PRE>
- */
-
-APR_DECLARE(void) apr_table_overlap(apr_table_t *a, const apr_table_t *b,
- unsigned flags);
-
-/**
- * Eliminate redunandant entries in a table by either overwriting
- * or merging duplicates
- *
- * @param t Table.
- * @param flags APR_OVERLAP_TABLES_MERGE to merge, or
- * APR_OVERLAP_TABLES_SET to overwrite
- */
-APR_DECLARE(void) apr_table_compress(apr_table_t *t, unsigned flags);
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ! APR_TABLES_H */
diff --git a/rubbos/app/apache2/include/apr_thread_cond.h b/rubbos/app/apache2/include/apr_thread_cond.h
deleted file mode 100644
index 520fb309..00000000
--- a/rubbos/app/apache2/include/apr_thread_cond.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/* 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 APR_THREAD_COND_H
-#define APR_THREAD_COND_H
-
-/**
- * @file apr_thread_cond.h
- * @brief APR Condition Variable Routines
- */
-
-#include "apr.h"
-#include "apr_pools.h"
-#include "apr_errno.h"
-#include "apr_time.h"
-#include "apr_thread_mutex.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#if APR_HAS_THREADS || defined(DOXYGEN)
-
-/**
- * @defgroup apr_thread_cond Condition Variable Routines
- * @ingroup APR
- * @{
- */
-
-/** Opaque structure for thread condition variables */
-typedef struct apr_thread_cond_t apr_thread_cond_t;
-
-/**
- * Create and initialize a condition variable that can be used to signal
- * and schedule threads in a single process.
- * @param cond the memory address where the newly created condition variable
- * will be stored.
- * @param pool the pool from which to allocate the mutex.
- */
-APR_DECLARE(apr_status_t) apr_thread_cond_create(apr_thread_cond_t **cond,
- apr_pool_t *pool);
-
-/**
- * Put the active calling thread to sleep until signaled to wake up. Each
- * condition variable must be associated with a mutex, and that mutex must
- * be locked before calling this function, or the behavior will be
- * undefined. As the calling thread is put to sleep, the given mutex
- * will be simultaneously released; and as this thread wakes up the lock
- * is again simultaneously acquired.
- * @param cond the condition variable on which to block.
- * @param mutex the mutex that must be locked upon entering this function,
- * is released while the thread is asleep, and is again acquired before
- * returning from this function.
- */
-APR_DECLARE(apr_status_t) apr_thread_cond_wait(apr_thread_cond_t *cond,
- apr_thread_mutex_t *mutex);
-
-/**
- * Put the active calling thread to sleep until signaled to wake up or
- * the timeout is reached. Each condition variable must be associated
- * with a mutex, and that mutex must be locked before calling this
- * function, or the behavior will be undefined. As the calling thread
- * is put to sleep, the given mutex will be simultaneously released;
- * and as this thread wakes up the lock is again simultaneously acquired.
- * @param cond the condition variable on which to block.
- * @param mutex the mutex that must be locked upon entering this function,
- * is released while the thread is asleep, and is again acquired before
- * returning from this function.
- * @param timeout The amount of time in microseconds to wait. This is
- * a maximum, not a minimum. If the condition is signaled, we
- * will wake up before this time, otherwise the error APR_TIMEUP
- * is returned.
- */
-APR_DECLARE(apr_status_t) apr_thread_cond_timedwait(apr_thread_cond_t *cond,
- apr_thread_mutex_t *mutex,
- apr_interval_time_t timeout);
-
-/**
- * Signals a singla thread, if one exists, that is blocking on the given
- * condition variable. That thread is then scheduled to wake up and acquire
- * the associated mutex. Although it is not required, if predictible schedule
- * is desired, that mutex must be locked while calling this function.
- * @param cond the condition variable on which to produce the signal.
- */
-APR_DECLARE(apr_status_t) apr_thread_cond_signal(apr_thread_cond_t *cond);
-
-/**
- * Signals all threads blocking on the given condition variable.
- * Each thread that was signaled is then schedule to wake up and acquire
- * the associated mutex. This will happen in a serialized manner.
- * @param cond the condition variable on which to produce the broadcast.
- */
-APR_DECLARE(apr_status_t) apr_thread_cond_broadcast(apr_thread_cond_t *cond);
-
-/**
- * Destroy the condition variable and free the associated memory.
- * @param cond the condition variable to destroy.
- */
-APR_DECLARE(apr_status_t) apr_thread_cond_destroy(apr_thread_cond_t *cond);
-
-/**
- * Get the pool used by this thread_cond.
- * @return apr_pool_t the pool
- */
-APR_POOL_DECLARE_ACCESSOR(thread_cond);
-
-#endif /* APR_HAS_THREADS */
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ! APR_THREAD_COND_H */
diff --git a/rubbos/app/apache2/include/apr_thread_mutex.h b/rubbos/app/apache2/include/apr_thread_mutex.h
deleted file mode 100644
index 4596dce5..00000000
--- a/rubbos/app/apache2/include/apr_thread_mutex.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/* 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 APR_THREAD_MUTEX_H
-#define APR_THREAD_MUTEX_H
-
-/**
- * @file apr_thread_mutex.h
- * @brief APR Thread Mutex Routines
- */
-
-#include "apr.h"
-#include "apr_errno.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#if APR_HAS_THREADS || defined(DOXYGEN)
-
-/**
- * @defgroup apr_thread_mutex Thread Mutex Routines
- * @ingroup APR
- * @{
- */
-
-/** Opaque thread-local mutex structure */
-typedef struct apr_thread_mutex_t apr_thread_mutex_t;
-
-#define APR_THREAD_MUTEX_DEFAULT 0x0 /**< platform-optimal lock behavior */
-#define APR_THREAD_MUTEX_NESTED 0x1 /**< enable nested (recursive) locks */
-#define APR_THREAD_MUTEX_UNNESTED 0x2 /**< disable nested locks */
-
-/* Delayed the include to avoid a circular reference */
-#include "apr_pools.h"
-
-/**
- * Create and initialize a mutex that can be used to synchronize threads.
- * @param mutex the memory address where the newly created mutex will be
- * stored.
- * @param flags Or'ed value of:
- * <PRE>
- * APR_THREAD_MUTEX_DEFAULT platform-optimal lock behavior.
- * APR_THREAD_MUTEX_NESTED enable nested (recursive) locks.
- * APR_THREAD_MUTEX_UNNESTED disable nested locks (non-recursive).
- * </PRE>
- * @param pool the pool from which to allocate the mutex.
- * @warning Be cautious in using APR_THREAD_MUTEX_DEFAULT. While this is the
- * most optimial mutex based on a given platform's performance charateristics,
- * it will behave as either a nested or an unnested lock.
- */
-APR_DECLARE(apr_status_t) apr_thread_mutex_create(apr_thread_mutex_t **mutex,
- unsigned int flags,
- apr_pool_t *pool);
-/**
- * Acquire the lock for the given mutex. If the mutex is already locked,
- * the current thread will be put to sleep until the lock becomes available.
- * @param mutex the mutex on which to acquire the lock.
- */
-APR_DECLARE(apr_status_t) apr_thread_mutex_lock(apr_thread_mutex_t *mutex);
-
-/**
- * Attempt to acquire the lock for the given mutex. If the mutex has already
- * been acquired, the call returns immediately with APR_EBUSY. Note: it
- * is important that the APR_STATUS_IS_EBUSY(s) macro be used to determine
- * if the return value was APR_EBUSY, for portability reasons.
- * @param mutex the mutex on which to attempt the lock acquiring.
- */
-APR_DECLARE(apr_status_t) apr_thread_mutex_trylock(apr_thread_mutex_t *mutex);
-
-/**
- * Release the lock for the given mutex.
- * @param mutex the mutex from which to release the lock.
- */
-APR_DECLARE(apr_status_t) apr_thread_mutex_unlock(apr_thread_mutex_t *mutex);
-
-/**
- * Destroy the mutex and free the memory associated with the lock.
- * @param mutex the mutex to destroy.
- */
-APR_DECLARE(apr_status_t) apr_thread_mutex_destroy(apr_thread_mutex_t *mutex);
-
-/**
- * Get the pool used by this thread_mutex.
- * @return apr_pool_t the pool
- */
-APR_POOL_DECLARE_ACCESSOR(thread_mutex);
-
-#endif /* APR_HAS_THREADS */
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ! APR_THREAD_MUTEX_H */
diff --git a/rubbos/app/apache2/include/apr_thread_proc.h b/rubbos/app/apache2/include/apr_thread_proc.h
deleted file mode 100644
index be586040..00000000
--- a/rubbos/app/apache2/include/apr_thread_proc.h
+++ /dev/null
@@ -1,772 +0,0 @@
-/* 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 APR_THREAD_PROC_H
-#define APR_THREAD_PROC_H
-
-/**
- * @file apr_thread_proc.h
- * @brief APR Thread and Process Library
- */
-
-#include "apr.h"
-#include "apr_file_io.h"
-#include "apr_pools.h"
-#include "apr_errno.h"
-
-#if APR_HAVE_STRUCT_RLIMIT
-#include <sys/time.h>
-#include <sys/resource.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @defgroup apr_thread_proc Threads and Process Functions
- * @ingroup APR
- * @{
- */
-
-typedef enum {
- APR_SHELLCMD, /**< use the shell to invoke the program */
- APR_PROGRAM, /**< invoke the program directly, no copied env */
- APR_PROGRAM_ENV, /**< invoke the program, replicating our environment */
- APR_PROGRAM_PATH, /**< find program on PATH, use our environment */
- APR_SHELLCMD_ENV /**< use the shell to invoke the program,
- * replicating our environment
- */
-} apr_cmdtype_e;
-
-typedef enum {
- APR_WAIT, /**< wait for the specified process to finish */
- APR_NOWAIT /**< do not wait -- just see if it has finished */
-} apr_wait_how_e;
-
-/* I am specifically calling out the values so that the macros below make
- * more sense. Yes, I know I don't need to, but I am hoping this makes what
- * I am doing more clear. If you want to add more reasons to exit, continue
- * to use bitmasks.
- */
-typedef enum {
- APR_PROC_EXIT = 1, /**< process exited normally */
- APR_PROC_SIGNAL = 2, /**< process exited due to a signal */
- APR_PROC_SIGNAL_CORE = 4 /**< process exited and dumped a core file */
-} apr_exit_why_e;
-
-/** did we exit the process */
-#define APR_PROC_CHECK_EXIT(x) (x & APR_PROC_EXIT)
-/** did we get a signal */
-#define APR_PROC_CHECK_SIGNALED(x) (x & APR_PROC_SIGNAL)
-/** did we get core */
-#define APR_PROC_CHECK_CORE_DUMP(x) (x & APR_PROC_SIGNAL_CORE)
-
-/** @see apr_procattr_io_set */
-#define APR_NO_PIPE 0
-
-/** @see apr_procattr_io_set */
-#define APR_FULL_BLOCK 1
-/** @see apr_procattr_io_set */
-#define APR_FULL_NONBLOCK 2
-/** @see apr_procattr_io_set */
-#define APR_PARENT_BLOCK 3
-/** @see apr_procattr_io_set */
-#define APR_CHILD_BLOCK 4
-
-/** @see apr_procattr_limit_set */
-#define APR_LIMIT_CPU 0
-/** @see apr_procattr_limit_set */
-#define APR_LIMIT_MEM 1
-/** @see apr_procattr_limit_set */
-#define APR_LIMIT_NPROC 2
-/** @see apr_procattr_limit_set */
-#define APR_LIMIT_NOFILE 3
-
-/**
- * @defgroup APR_OC Other Child Flags
- * @{
- */
-#define APR_OC_REASON_DEATH 0 /**< child has died, caller must call
- * unregister still */
-#define APR_OC_REASON_UNWRITABLE 1 /**< write_fd is unwritable */
-#define APR_OC_REASON_RESTART 2 /**< a restart is occuring, perform
- * any necessary cleanup (including
- * sending a special signal to child)
- */
-#define APR_OC_REASON_UNREGISTER 3 /**< unregister has been called, do
- * whatever is necessary (including
- * kill the child) */
-#define APR_OC_REASON_LOST 4 /**< somehow the child exited without
- * us knowing ... buggy os? */
-#define APR_OC_REASON_RUNNING 5 /**< a health check is occuring,
- * for most maintainence functions
- * this is a no-op.
- */
-/** @} */
-
-/** The APR process type */
-typedef struct apr_proc_t {
- /** The process ID */
- pid_t pid;
- /** Parent's side of pipe to child's stdin */
- apr_file_t *in;
- /** Parent's side of pipe to child's stdout */
- apr_file_t *out;
- /** Parent's side of pipe to child's stdouterr */
- apr_file_t *err;
-#if APR_HAS_PROC_INVOKED || defined(DOXYGEN)
- /** Diagnositics/debugging string of the command invoked for
- * this process [only present if APR_HAS_PROC_INVOKED is true]
- * @remark Only enabled on Win32 by default.
- * @bug This should either always or never be present in release
- * builds - since it breaks binary compatibility. We may enable
- * it always in APR 1.0 yet leave it undefined in most cases.
- */
- char *invoked;
-#endif
-#if defined(WIN32) || defined(DOXYGEN)
- /** (Win32 only) Creator's handle granting access to the process
- * @remark This handle is closed and reset to NULL in every case
- * corresponding to a waitpid() on Unix which returns the exit status.
- * Therefore Win32 correspond's to Unix's zombie reaping characteristics
- * and avoids potential handle leaks.
- */
- HANDLE hproc;
-#endif
-} apr_proc_t;
-
-/**
- * The prototype for APR child errfn functions. (See the description
- * of apr_procattr_child_errfn_set() for more information.)
- * It is passed the following parameters:
- * @param pool Pool associated with the apr_proc_t. If your child
- * error function needs user data, associate it with this
- * pool.
- * @param err APR error code describing the error
- * @param description Text description of type of processing which failed
- */
-typedef void (apr_child_errfn_t)(apr_pool_t *proc, apr_status_t err,
- const char *description);
-
-/** Opaque Thread structure. */
-typedef struct apr_thread_t apr_thread_t;
-
-/** Opaque Thread attributes structure. */
-typedef struct apr_threadattr_t apr_threadattr_t;
-
-/** Opaque Process attributes structure. */
-typedef struct apr_procattr_t apr_procattr_t;
-
-/** Opaque control variable for one-time atomic variables. */
-typedef struct apr_thread_once_t apr_thread_once_t;
-
-/** Opaque thread private address space. */
-typedef struct apr_threadkey_t apr_threadkey_t;
-
-/** Opaque record of child process. */
-typedef struct apr_other_child_rec_t apr_other_child_rec_t;
-
-/**
- * The prototype for any APR thread worker functions.
- */
-typedef void *(APR_THREAD_FUNC *apr_thread_start_t)(apr_thread_t*, void*);
-
-typedef enum {
- APR_KILL_NEVER, /**< process is never sent any signals */
- APR_KILL_ALWAYS, /**< process is sent SIGKILL on apr_pool_t cleanup */
- APR_KILL_AFTER_TIMEOUT, /**< SIGTERM, wait 3 seconds, SIGKILL */
- APR_JUST_WAIT, /**< wait forever for the process to complete */
- APR_KILL_ONLY_ONCE /**< send SIGTERM and then wait */
-} apr_kill_conditions_e;
-
-/* Thread Function definitions */
-
-#if APR_HAS_THREADS
-
-/**
- * Create and initialize a new threadattr variable
- * @param new_attr The newly created threadattr.
- * @param cont The pool to use
- */
-APR_DECLARE(apr_status_t) apr_threadattr_create(apr_threadattr_t **new_attr,
- apr_pool_t *cont);
-
-/**
- * Set if newly created threads should be created in detached state.
- * @param attr The threadattr to affect
- * @param on Thread detach state on or off
- */
-APR_DECLARE(apr_status_t) apr_threadattr_detach_set(apr_threadattr_t *attr,
- apr_int32_t on);
-
-/**
- * Get the detach state for this threadattr.
- * @param attr The threadattr to reference
- */
-APR_DECLARE(apr_status_t) apr_threadattr_detach_get(apr_threadattr_t *attr);
-
-/**
- * Set the stack size of newly created threads.
- * @param attr The threadattr to affect
- * @param stacksize The stack size in bytes
- */
-APR_DECLARE(apr_status_t) apr_threadattr_stacksize_set(apr_threadattr_t *attr,
- apr_size_t stacksize);
-
-/**
- * Create a new thread of execution
- * @param new_thread The newly created thread handle.
- * @param attr The threadattr to use to determine how to create the thread
- * @param func The function to start the new thread in
- * @param data Any data to be passed to the starting function
- * @param cont The pool to use
- */
-APR_DECLARE(apr_status_t) apr_thread_create(apr_thread_t **new_thread,
- apr_threadattr_t *attr,
- apr_thread_start_t func,
- void *data, apr_pool_t *cont);
-
-/**
- * stop the current thread
- * @param thd The thread to stop
- * @param retval The return value to pass back to any thread that cares
- */
-APR_DECLARE(apr_status_t) apr_thread_exit(apr_thread_t *thd,
- apr_status_t retval);
-
-/**
- * block until the desired thread stops executing.
- * @param retval The return value from the dead thread.
- * @param thd The thread to join
- */
-APR_DECLARE(apr_status_t) apr_thread_join(apr_status_t *retval,
- apr_thread_t *thd);
-
-/**
- * force the current thread to yield the processor
- */
-APR_DECLARE(void) apr_thread_yield(void);
-
-/**
- * Initialize the control variable for apr_thread_once. If this isn't
- * called, apr_initialize won't work.
- * @param control The control variable to initialize
- * @param p The pool to allocate data from.
- */
-APR_DECLARE(apr_status_t) apr_thread_once_init(apr_thread_once_t **control,
- apr_pool_t *p);
-
-/**
- * Run the specified function one time, regardless of how many threads
- * call it.
- * @param control The control variable. The same variable should
- * be passed in each time the function is tried to be
- * called. This is how the underlying functions determine
- * if the function has ever been called before.
- * @param func The function to call.
- */
-APR_DECLARE(apr_status_t) apr_thread_once(apr_thread_once_t *control,
- void (*func)(void));
-
-/**
- * detach a thread
- * @param thd The thread to detach
- */
-APR_DECLARE(apr_status_t) apr_thread_detach(apr_thread_t *thd);
-
-/**
- * Return the pool associated with the current thread.
- * @param data The user data associated with the thread.
- * @param key The key to associate with the data
- * @param thread The currently open thread.
- */
-APR_DECLARE(apr_status_t) apr_thread_data_get(void **data, const char *key,
- apr_thread_t *thread);
-
-/**
- * Return the pool associated with the current thread.
- * @param data The user data to associate with the thread.
- * @param key The key to use for associating the data with the thread
- * @param cleanup The cleanup routine to use when the thread is destroyed.
- * @param thread The currently open thread.
- */
-APR_DECLARE(apr_status_t) apr_thread_data_set(void *data, const char *key,
- apr_status_t (*cleanup) (void *),
- apr_thread_t *thread);
-
-/**
- * Create and initialize a new thread private address space
- * @param key The thread private handle.
- * @param dest The destructor to use when freeing the private memory.
- * @param cont The pool to use
- */
-APR_DECLARE(apr_status_t) apr_threadkey_private_create(apr_threadkey_t **key,
- void (*dest)(void *),
- apr_pool_t *cont);
-
-/**
- * Get a pointer to the thread private memory
- * @param new_mem The data stored in private memory
- * @param key The handle for the desired thread private memory
- */
-APR_DECLARE(apr_status_t) apr_threadkey_private_get(void **new_mem,
- apr_threadkey_t *key);
-
-/**
- * Set the data to be stored in thread private memory
- * @param priv The data to be stored in private memory
- * @param key The handle for the desired thread private memory
- */
-APR_DECLARE(apr_status_t) apr_threadkey_private_set(void *priv,
- apr_threadkey_t *key);
-
-/**
- * Free the thread private memory
- * @param key The handle for the desired thread private memory
- */
-APR_DECLARE(apr_status_t) apr_threadkey_private_delete(apr_threadkey_t *key);
-
-/**
- * Return the pool associated with the current threadkey.
- * @param data The user data associated with the threadkey.
- * @param key The key associated with the data
- * @param threadkey The currently open threadkey.
- */
-APR_DECLARE(apr_status_t) apr_threadkey_data_get(void **data, const char *key,
- apr_threadkey_t *threadkey);
-
-/**
- * Return the pool associated with the current threadkey.
- * @param data The data to set.
- * @param key The key to associate with the data.
- * @param cleanup The cleanup routine to use when the file is destroyed.
- * @param threadkey The currently open threadkey.
- */
-APR_DECLARE(apr_status_t) apr_threadkey_data_set(void *data, const char *key,
- apr_status_t (*cleanup) (void *),
- apr_threadkey_t *threadkey);
-
-#endif
-
-/**
- * Create and initialize a new procattr variable
- * @param new_attr The newly created procattr.
- * @param cont The pool to use
- */
-APR_DECLARE(apr_status_t) apr_procattr_create(apr_procattr_t **new_attr,
- apr_pool_t *cont);
-
-/**
- * Determine if any of stdin, stdout, or stderr should be linked to pipes
- * when starting a child process.
- * @param attr The procattr we care about.
- * @param in Should stdin be a pipe back to the parent?
- * @param out Should stdout be a pipe back to the parent?
- * @param err Should stderr be a pipe back to the parent?
- */
-APR_DECLARE(apr_status_t) apr_procattr_io_set(apr_procattr_t *attr,
- apr_int32_t in, apr_int32_t out,
- apr_int32_t err);
-
-/**
- * Set the child_in and/or parent_in values to existing apr_file_t values.
- * @param attr The procattr we care about.
- * @param child_in apr_file_t value to use as child_in. Must be a valid file.
- * @param parent_in apr_file_t value to use as parent_in. Must be a valid file.
- * @remark This is NOT a required initializer function. This is
- * useful if you have already opened a pipe (or multiple files)
- * that you wish to use, perhaps persistently across multiple
- * process invocations - such as a log file. You can save some
- * extra function calls by not creating your own pipe since this
- * creates one in the process space for you.
- */
-APR_DECLARE(apr_status_t) apr_procattr_child_in_set(struct apr_procattr_t *attr,
- apr_file_t *child_in,
- apr_file_t *parent_in);
-
-/**
- * Set the child_out and parent_out values to existing apr_file_t values.
- * @param attr The procattr we care about.
- * @param child_out apr_file_t value to use as child_out. Must be a valid file.
- * @param parent_out apr_file_t value to use as parent_out. Must be a valid file.
- * @remark This is NOT a required initializer function. This is
- * useful if you have already opened a pipe (or multiple files)
- * that you wish to use, perhaps persistently across multiple
- * process invocations - such as a log file.
- */
-APR_DECLARE(apr_status_t) apr_procattr_child_out_set(struct apr_procattr_t *attr,
- apr_file_t *child_out,
- apr_file_t *parent_out);
-
-/**
- * Set the child_err and parent_err values to existing apr_file_t values.
- * @param attr The procattr we care about.
- * @param child_err apr_file_t value to use as child_err. Must be a valid file.
- * @param parent_err apr_file_t value to use as parent_err. Must be a valid file.
- * @remark This is NOT a required initializer function. This is
- * useful if you have already opened a pipe (or multiple files)
- * that you wish to use, perhaps persistently across multiple
- * process invocations - such as a log file.
- */
-APR_DECLARE(apr_status_t) apr_procattr_child_err_set(struct apr_procattr_t *attr,
- apr_file_t *child_err,
- apr_file_t *parent_err);
-
-/**
- * Set which directory the child process should start executing in.
- * @param attr The procattr we care about.
- * @param dir Which dir to start in. By default, this is the same dir as
- * the parent currently resides in, when the createprocess call
- * is made.
- */
-APR_DECLARE(apr_status_t) apr_procattr_dir_set(apr_procattr_t *attr,
- const char *dir);
-
-/**
- * Set what type of command the child process will call.
- * @param attr The procattr we care about.
- * @param cmd The type of command. One of:
- * <PRE>
- * APR_SHELLCMD -- Anything that the shell can handle
- * APR_PROGRAM -- Executable program (default)
- * APR_PROGRAM_ENV -- Executable program, copy environment
- * APR_PROGRAM_PATH -- Executable program on PATH, copy env
- * </PRE>
- */
-APR_DECLARE(apr_status_t) apr_procattr_cmdtype_set(apr_procattr_t *attr,
- apr_cmdtype_e cmd);
-
-/**
- * Determine if the child should start in detached state.
- * @param attr The procattr we care about.
- * @param detach Should the child start in detached state? Default is no.
- */
-APR_DECLARE(apr_status_t) apr_procattr_detach_set(apr_procattr_t *attr,
- apr_int32_t detach);
-
-#if APR_HAVE_STRUCT_RLIMIT
-/**
- * Set the Resource Utilization limits when starting a new process.
- * @param attr The procattr we care about.
- * @param what Which limit to set, one of:
- * <PRE>
- * APR_LIMIT_CPU
- * APR_LIMIT_MEM
- * APR_LIMIT_NPROC
- * APR_LIMIT_NOFILE
- * </PRE>
- * @param limit Value to set the limit to.
- */
-APR_DECLARE(apr_status_t) apr_procattr_limit_set(apr_procattr_t *attr,
- apr_int32_t what,
- struct rlimit *limit);
-#endif
-
-/**
- * Specify an error function to be called in the child process if APR
- * encounters an error in the child prior to running the specified program.
- * @param attr The procattr describing the child process to be created.
- * @param errfn The function to call in the child process.
- * @remark At the present time, it will only be called from apr_proc_create()
- * on platforms where fork() is used. It will never be called on other
- * platforms, on those platforms apr_proc_create() will return the error
- * in the parent process rather than invoke the callback in the now-forked
- * child process.
- */
-APR_DECLARE(apr_status_t) apr_procattr_child_errfn_set(apr_procattr_t *attr,
- apr_child_errfn_t *errfn);
-
-/**
- * Specify that apr_proc_create() should do whatever it can to report
- * failures to the caller of apr_proc_create(), rather than find out in
- * the child.
- * @param attr The procattr describing the child process to be created.
- * @param chk Flag to indicate whether or not extra work should be done
- * to try to report failures to the caller.
- * @remark This flag only affects apr_proc_create() on platforms where
- * fork() is used. This leads to extra overhead in the calling
- * process, but that may help the application handle such
- * errors more gracefully.
- */
-APR_DECLARE(apr_status_t) apr_procattr_error_check_set(apr_procattr_t *attr,
- apr_int32_t chk);
-
-/**
- * Determine if the child should start in its own address space or using the
- * current one from its parent
- * @param attr The procattr we care about.
- * @param addrspace Should the child start in its own address space? Default
- * is no on NetWare and yes on other platforms.
- */
-APR_DECLARE(apr_status_t) apr_procattr_addrspace_set(apr_procattr_t *attr,
- apr_int32_t addrspace);
-
-#if APR_HAS_FORK
-/**
- * This is currently the only non-portable call in APR. This executes
- * a standard unix fork.
- * @param proc The resulting process handle.
- * @param cont The pool to use.
- */
-APR_DECLARE(apr_status_t) apr_proc_fork(apr_proc_t *proc, apr_pool_t *cont);
-#endif
-
-/**
- * Create a new process and execute a new program within that process.
- * @param new_proc The resulting process handle.
- * @param progname The program to run
- * @param args the arguments to pass to the new program. The first
- * one should be the program name.
- * @param env The new environment table for the new process. This
- * should be a list of NULL-terminated strings. This argument
- * is ignored for APR_PROGRAM_ENV, APR_PROGRAM_PATH, and
- * APR_SHELLCMD_ENV types of commands.
- * @param attr the procattr we should use to determine how to create the new
- * process
- * @param cont The pool to use.
- */
-APR_DECLARE(apr_status_t) apr_proc_create(apr_proc_t *new_proc,
- const char *progname,
- const char * const *args,
- const char * const *env,
- apr_procattr_t *attr,
- apr_pool_t *cont);
-
-/**
- * Wait for a child process to die
- * @param proc The process handle that corresponds to the desired child process
- * @param exitcode The returned exit status of the child, if a child process
- * dies, or the signal that caused the child to die.
- * On platforms that don't support obtaining this information,
- * the status parameter will be returned as APR_ENOTIMPL.
- * @param exitwhy Why the child died, the bitwise or of:
- * <PRE>
- * APR_PROC_EXIT -- process terminated normally
- * APR_PROC_SIGNAL -- process was killed by a signal
- * APR_PROC_SIGNAL_CORE -- process was killed by a signal, and
- * generated a core dump.
- * </PRE>
- * @param waithow How should we wait. One of:
- * <PRE>
- * APR_WAIT -- block until the child process dies.
- * APR_NOWAIT -- return immediately regardless of if the
- * child is dead or not.
- * </PRE>
- * @remark The childs status is in the return code to this process. It is one of:
- * <PRE>
- * APR_CHILD_DONE -- child is no longer running.
- * APR_CHILD_NOTDONE -- child is still running.
- * </PRE>
- */
-APR_DECLARE(apr_status_t) apr_proc_wait(apr_proc_t *proc,
- int *exitcode, apr_exit_why_e *exitwhy,
- apr_wait_how_e waithow);
-
-/**
- * Wait for any current child process to die and return information
- * about that child.
- * @param proc Pointer to NULL on entry, will be filled out with child's
- * information
- * @param exitcode The returned exit status of the child, if a child process
- * dies, or the signal that caused the child to die.
- * On platforms that don't support obtaining this information,
- * the status parameter will be returned as APR_ENOTIMPL.
- * @param exitwhy Why the child died, the bitwise or of:
- * <PRE>
- * APR_PROC_EXIT -- process terminated normally
- * APR_PROC_SIGNAL -- process was killed by a signal
- * APR_PROC_SIGNAL_CORE -- process was killed by a signal, and
- * generated a core dump.
- * </PRE>
- * @param waithow How should we wait. One of:
- * <PRE>
- * APR_WAIT -- block until the child process dies.
- * APR_NOWAIT -- return immediately regardless of if the
- * child is dead or not.
- * </PRE>
- * @param p Pool to allocate child information out of.
- * @bug Passing proc as a *proc rather than **proc was an odd choice
- * for some platforms... this should be revisited in 1.0
- */
-APR_DECLARE(apr_status_t) apr_proc_wait_all_procs(apr_proc_t *proc,
- int *exitcode,
- apr_exit_why_e *exitwhy,
- apr_wait_how_e waithow,
- apr_pool_t *p);
-
-#define APR_PROC_DETACH_FOREGROUND 0 /**< Do not detach */
-#define APR_PROC_DETACH_DAEMONIZE 1 /**< Detach */
-
-/**
- * Detach the process from the controlling terminal.
- * @param daemonize set to non-zero if the process should daemonize
- * and become a background process, else it will
- * stay in the foreground.
- */
-APR_DECLARE(apr_status_t) apr_proc_detach(int daemonize);
-
-/**
- * Register an other_child -- a child associated to its registered
- * maintence callback. This callback is invoked when the process
- * dies, is disconnected or disappears.
- * @param proc The child process to register.
- * @param maintenance maintenance is a function that is invoked with a
- * reason and the data pointer passed here.
- * @param data Opaque context data passed to the maintenance function.
- * @param write_fd An fd that is probed for writing. If it is ever unwritable
- * then the maintenance is invoked with reason
- * OC_REASON_UNWRITABLE.
- * @param p The pool to use for allocating memory.
- * @bug write_fd duplicates the proc->out stream, it's really redundant
- * and should be replaced in the APR 1.0 API with a bitflag of which
- * proc->in/out/err handles should be health checked.
- * @bug no platform currently tests the pipes health.
- */
-APR_DECLARE(void) apr_proc_other_child_register(apr_proc_t *proc,
- void (*maintenance) (int reason,
- void *,
- int status),
- void *data, apr_file_t *write_fd,
- apr_pool_t *p);
-
-/**
- * Stop watching the specified other child.
- * @param data The data to pass to the maintenance function. This is
- * used to find the process to unregister.
- * @warning Since this can be called by a maintenance function while we're
- * scanning the other_children list, all scanners should protect
- * themself by loading ocr->next before calling any maintenance
- * function.
- */
-APR_DECLARE(void) apr_proc_other_child_unregister(void *data);
-
-/**
- * Notify the maintenance callback of a registered other child process
- * that application has detected an event, such as death.
- * @param proc The process to check
- * @param reason The reason code to pass to the maintenance function
- * @param status The status to pass to the maintenance function
- * @remark An example of code using this behavior;
- * <pre>
- * rv = apr_proc_wait_all_procs(&proc, &exitcode, &status, APR_WAIT, p);
- * if (APR_STATUS_IS_CHILD_DONE(rv)) {
- * #if APR_HAS_OTHER_CHILD
- * if (apr_proc_other_child_alert(&proc, APR_OC_REASON_DEATH, status)
- * == APR_SUCCESS) {
- * ; (already handled)
- * }
- * else
- * #endif
- * [... handling non-otherchild processes death ...]
- * </pre>
- */
-APR_DECLARE(apr_status_t) apr_proc_other_child_alert(apr_proc_t *proc,
- int reason,
- int status);
-
-/**
- * Test one specific other child processes and invoke the maintenance callback
- * with the appropriate reason code, if still running, or the appropriate reason
- * code if the process is no longer healthy.
- * @param ocr The registered other child
- * @param reason The reason code (e.g. APR_OC_REASON_RESTART) if still running
- */
-APR_DECLARE(void) apr_proc_other_child_refresh(apr_other_child_rec_t *ocr,
- int reason);
-
-/**
- * Test all registered other child processes and invoke the maintenance callback
- * with the appropriate reason code, if still running, or the appropriate reason
- * code if the process is no longer healthy.
- * @param reason The reason code (e.g. APR_OC_REASON_RESTART) to running processes
- */
-APR_DECLARE(void) apr_proc_other_child_refresh_all(int reason);
-
-/** @deprecated @see apr_proc_other_child_refresh_all
- * @remark Call apr_proc_other_child_refresh_all(APR_OC_REASON_RESTART)
- * or apr_proc_other_child_refresh_all(APR_OC_REASON_RUNNING) instead.
- * @bug The differing implementations of this function on Win32 (_RUNNING checks)
- * and Unix (used only for _RESTART) are the reason it will be dropped with APR 1.0.
- */
-APR_DECLARE(void) apr_proc_other_child_check(void);
-
-/** @deprecated @see apr_proc_other_child_alert
- * @bug This function's name had nothing to do with it's purpose
- */
-APR_DECLARE(apr_status_t) apr_proc_other_child_read(apr_proc_t *proc, int status);
-
-
-/**
- * Terminate a process.
- * @param proc The process to terminate.
- * @param sig How to kill the process.
- */
-APR_DECLARE(apr_status_t) apr_proc_kill(apr_proc_t *proc, int sig);
-
-/**
- * Register a process to be killed when a pool dies.
- * @param a The pool to use to define the processes lifetime
- * @param proc The process to register
- * @param how How to kill the process, one of:
- * <PRE>
- * APR_KILL_NEVER -- process is never sent any signals
- * APR_KILL_ALWAYS -- process is sent SIGKILL on apr_pool_t cleanup
- * APR_KILL_AFTER_TIMEOUT -- SIGTERM, wait 3 seconds, SIGKILL
- * APR_JUST_WAIT -- wait forever for the process to complete
- * APR_KILL_ONLY_ONCE -- send SIGTERM and then wait
- * </PRE>
- */
-APR_DECLARE(void) apr_pool_note_subprocess(apr_pool_t *a, apr_proc_t *proc,
- apr_kill_conditions_e how);
-
-#if APR_HAS_THREADS
-
-#if (APR_HAVE_SIGWAIT || APR_HAVE_SIGSUSPEND) && !defined(OS2)
-
-/**
- * Setup the process for a single thread to be used for all signal handling.
- * @warning This must be called before any threads are created
- */
-APR_DECLARE(apr_status_t) apr_setup_signal_thread(void);
-
-/**
- * Make the current thread listen for signals. This thread will loop
- * forever, calling a provided function whenever it receives a signal. That
- * functions should return 1 if the signal has been handled, 0 otherwise.
- * @param signal_handler The function to call when a signal is received
- * apr_status_t apr_signal_thread((int)(*signal_handler)(int signum))
- */
-APR_DECLARE(apr_status_t) apr_signal_thread(int(*signal_handler)(int signum));
-
-#endif /* (APR_HAVE_SIGWAIT || APR_HAVE_SIGSUSPEND) && !defined(OS2) */
-
-/**
- * Get the child-pool used by the thread from the thread info.
- * @return apr_pool_t the pool
- */
-APR_POOL_DECLARE_ACCESSOR(thread);
-
-#endif /* APR_HAS_THREADS */
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ! APR_THREAD_PROC_H */
-
diff --git a/rubbos/app/apache2/include/apr_thread_rwlock.h b/rubbos/app/apache2/include/apr_thread_rwlock.h
deleted file mode 100644
index 0e69a2a4..00000000
--- a/rubbos/app/apache2/include/apr_thread_rwlock.h
+++ /dev/null
@@ -1,120 +0,0 @@
-/* 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 APR_THREAD_RWLOCK_H
-#define APR_THREAD_RWLOCK_H
-
-/**
- * @file apr_thread_rwlock.h
- * @brief APR Reader/Writer Lock Routines
- */
-
-#include "apr.h"
-#include "apr_pools.h"
-#include "apr_errno.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#if APR_HAS_THREADS
-
-/**
- * @defgroup apr_thread_rwlock Reader/Writer Lock Routines
- * @ingroup APR
- * @{
- */
-
-/** Opaque read-write thread-safe lock. */
-typedef struct apr_thread_rwlock_t apr_thread_rwlock_t;
-
-/**
- * Create and initialize a read-write lock that can be used to synchronize
- * threads.
- * @param rwlock the memory address where the newly created readwrite lock
- * will be stored.
- * @param pool the pool from which to allocate the mutex.
- */
-APR_DECLARE(apr_status_t) apr_thread_rwlock_create(apr_thread_rwlock_t **rwlock,
- apr_pool_t *pool);
-/**
- * Acquire a shared-read lock on the given read-write lock. This will allow
- * multiple threads to enter the same critical section while they have acquired
- * the read lock.
- * @param rwlock the read-write lock on which to acquire the shared read.
- */
-APR_DECLARE(apr_status_t) apr_thread_rwlock_rdlock(apr_thread_rwlock_t *rwlock);
-
-/**
- * Attempt to acquire the shread-read lock on the given read-write lock. This
- * is the same as apr_thread_rwlock_rdlock(), only that the funtion fails
- * if there is another thread holding the write lock, or if there are any
- * write threads blocking on the lock. If the function failes for this case,
- * APR_EBUSY will be returned. Note: it is important that the
- * APR_STATUS_IS_EBUSY(s) macro be used to determine if the return value was
- * APR_EBUSY, for portability reasons.
- * @param rwlock the rwlock on which to attempt the shared read.
- */
-APR_DECLARE(apr_status_t) apr_thread_rwlock_tryrdlock(apr_thread_rwlock_t *rwlock);
-
-/**
- * Acquire an exclusive-write lock on the given read-write lock. This will
- * allow only one single thread to enter the critical sections. If there
- * are any threads currently holding thee read-lock, this thread is put to
- * sleep until it can have exclusive access to the lock.
- * @param rwlock the read-write lock on which to acquire the exclusive write.
- */
-APR_DECLARE(apr_status_t) apr_thread_rwlock_wrlock(apr_thread_rwlock_t *rwlock);
-
-/**
- * Attempt to acquire the exclusive-write lock on the given read-write lock.
- * This is the same as apr_thread_rwlock_wrlock(), only that the funtion fails
- * if there is any other thread holding the lock (for reading or writing),
- * in which case the function will return APR_EBUSY. Note: it is important
- * that the APR_STATUS_IS_EBUSY(s) macro be used to determine if the return
- * value was APR_EBUSY, for portability reasons.
- * @param rwlock the rwlock on which to attempt the exclusive write.
- */
-APR_DECLARE(apr_status_t) apr_thread_rwlock_trywrlock(apr_thread_rwlock_t *rwlock);
-
-/**
- * Release either the read or write lock currently held by the calling thread
- * associated with the given read-write lock.
- * @param rwlock the read-write lock to be released (unlocked).
- */
-APR_DECLARE(apr_status_t) apr_thread_rwlock_unlock(apr_thread_rwlock_t *rwlock);
-
-/**
- * Destroy the read-write lock and free the associated memory.
- * @param rwlock the rwlock to destroy.
- */
-APR_DECLARE(apr_status_t) apr_thread_rwlock_destroy(apr_thread_rwlock_t *rwlock);
-
-/**
- * Get the pool used by this thread_rwlock.
- * @return apr_pool_t the pool
- */
-APR_POOL_DECLARE_ACCESSOR(thread_rwlock);
-
-#endif /* APR_HAS_THREADS */
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ! APR_THREAD_RWLOCK_H */
diff --git a/rubbos/app/apache2/include/apr_time.h b/rubbos/app/apache2/include/apr_time.h
deleted file mode 100644
index d313910b..00000000
--- a/rubbos/app/apache2/include/apr_time.h
+++ /dev/null
@@ -1,245 +0,0 @@
-/* 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 APR_TIME_H
-#define APR_TIME_H
-
-/**
- * @file apr_time.h
- * @brief APR Time Library
- */
-
-#include "apr.h"
-#include "apr_pools.h"
-#include "apr_errno.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @defgroup apr_time Time Routines
- * @ingroup APR
- * @{
- */
-
-/** month names */
-APR_DECLARE_DATA extern const char apr_month_snames[12][4];
-/** day names */
-APR_DECLARE_DATA extern const char apr_day_snames[7][4];
-
-
-/** number of microseconds since 00:00:00 january 1, 1970 UTC */
-typedef apr_int64_t apr_time_t;
-
-
-/** mechanism to properly type apr_time_t literals */
-#define APR_TIME_C(val) APR_INT64_C(val)
-
-/** mechanism to properly print apr_time_t values */
-#define APR_TIME_T_FMT APR_INT64_T_FMT
-
-/** intervals for I/O timeouts, in microseconds */
-typedef apr_int64_t apr_interval_time_t;
-/** short interval for I/O timeouts, in microseconds */
-typedef apr_int32_t apr_short_interval_time_t;
-
-/** number of microseconds per second */
-#define APR_USEC_PER_SEC APR_TIME_C(1000000)
-
-/** @return apr_time_t as a second */
-#define apr_time_sec(time) ((time) / APR_USEC_PER_SEC)
-
-/** @return apr_time_t as a usec */
-#define apr_time_usec(time) ((time) % APR_USEC_PER_SEC)
-
-/** @return apr_time_t as a msec */
-#define apr_time_msec(time) (((time) / 1000) % 1000)
-
-/** @return apr_time_t as a msec */
-#define apr_time_as_msec(time) ((time) / 1000)
-
-/** @return a second as an apr_time_t */
-#define apr_time_from_sec(sec) ((apr_time_t)(sec) * APR_USEC_PER_SEC)
-
-/** @return a second and usec combination as an apr_time_t */
-#define apr_time_make(sec, usec) ((apr_time_t)(sec) * APR_USEC_PER_SEC \
- + (apr_time_t)(usec))
-
-/**
- * @return the current time
- */
-APR_DECLARE(apr_time_t) apr_time_now(void);
-
-/** @see apr_time_exp_t */
-typedef struct apr_time_exp_t apr_time_exp_t;
-
-/**
- * a structure similar to ANSI struct tm with the following differences:
- * - tm_usec isn't an ANSI field
- * - tm_gmtoff isn't an ANSI field (it's a bsdism)
- */
-struct apr_time_exp_t {
- /** microseconds past tm_sec */
- apr_int32_t tm_usec;
- /** (0-61) seconds past tm_min */
- apr_int32_t tm_sec;
- /** (0-59) minutes past tm_hour */
- apr_int32_t tm_min;
- /** (0-23) hours past midnight */
- apr_int32_t tm_hour;
- /** (1-31) day of the month */
- apr_int32_t tm_mday;
- /** (0-11) month of the year */
- apr_int32_t tm_mon;
- /** year since 1900 */
- apr_int32_t tm_year;
- /** (0-6) days since sunday */
- apr_int32_t tm_wday;
- /** (0-365) days since jan 1 */
- apr_int32_t tm_yday;
- /** daylight saving time */
- apr_int32_t tm_isdst;
- /** seconds east of UTC */
- apr_int32_t tm_gmtoff;
-};
-
-/**
- * convert an ansi time_t to an apr_time_t
- * @param result the resulting apr_time_t
- * @param input the time_t to convert
- */
-APR_DECLARE(apr_status_t) apr_time_ansi_put(apr_time_t *result,
- time_t input);
-
-/**
- * convert a time to its human readable components using an offset
- * from GMT
- * @param result the exploded time
- * @param input the time to explode
- * @param offs the number of seconds offset to apply
- */
-APR_DECLARE(apr_status_t) apr_time_exp_tz(apr_time_exp_t *result,
- apr_time_t input,
- apr_int32_t offs);
-
-/** @deprecated @see apr_time_exp_tz */
-APR_DECLARE(apr_status_t) apr_explode_time(apr_time_exp_t *result,
- apr_time_t input,
- apr_int32_t offs);
-
-/**
- * convert a time to its human readable components in GMT timezone
- * @param result the exploded time
- * @param input the time to explode
- */
-APR_DECLARE(apr_status_t) apr_time_exp_gmt(apr_time_exp_t *result,
- apr_time_t input);
-
-/**
- * convert a time to its human readable components in local timezone
- * @param result the exploded time
- * @param input the time to explode
- */
-APR_DECLARE(apr_status_t) apr_time_exp_lt(apr_time_exp_t *result,
- apr_time_t input);
-
-/** @deprecated @see apr_time_exp_lt */
-APR_DECLARE(apr_status_t) apr_explode_localtime(apr_time_exp_t *result,
- apr_time_t input);
-
-/**
- * Convert time value from human readable format to a numeric apr_time_t
- * e.g. elapsed usec since epoch
- * @param result the resulting imploded time
- * @param input the input exploded time
- */
-APR_DECLARE(apr_status_t) apr_time_exp_get(apr_time_t *result,
- apr_time_exp_t *input);
-
-/**
- * Convert time value from human readable format to a numeric apr_time_t that
- * always represents GMT
- * @param result the resulting imploded time
- * @param input the input exploded time
- */
-APR_DECLARE(apr_status_t) apr_time_exp_gmt_get(apr_time_t *result,
- apr_time_exp_t *input);
-
-/** @deprecated @see apr_time_exp_gmt_get */
-APR_DECLARE(apr_status_t) apr_implode_gmt(apr_time_t *result,
- apr_time_exp_t *input);
-
-/**
- * Sleep for the specified number of micro-seconds.
- * @param t desired amount of time to sleep.
- * @warning May sleep for longer than the specified time.
- */
-APR_DECLARE(void) apr_sleep(apr_interval_time_t t);
-
-/** length of a RFC822 Date */
-#define APR_RFC822_DATE_LEN (30)
-/**
- * apr_rfc822_date formats dates in the RFC822
- * format in an efficient manner. It is a fixed length
- * format which requires the indicated amount of storage,
- * including the trailing null byte.
- * @param date_str String to write to.
- * @param t the time to convert
- */
-APR_DECLARE(apr_status_t) apr_rfc822_date(char *date_str, apr_time_t t);
-
-/** length of a CTIME date */
-#define APR_CTIME_LEN (25)
-/**
- * apr_ctime formats dates in the ctime() format
- * in an efficient manner. it is a fixed length format
- * and requires the indicated amount of storage including
- * the trailing null byte.
- * Unlike ANSI/ISO C ctime(), apr_ctime() does not include
- * a \n at the end of the string.
- * @param date_str String to write to.
- * @param t the time to convert
- */
-APR_DECLARE(apr_status_t) apr_ctime(char *date_str, apr_time_t t);
-
-/**
- * formats the exploded time according to the format specified
- * @param s string to write to
- * @param retsize The length of the returned string
- * @param max The maximum length of the string
- * @param format The format for the time string
- * @param tm The time to convert
- */
-APR_DECLARE(apr_status_t) apr_strftime(char *s, apr_size_t *retsize,
- apr_size_t max, const char *format,
- apr_time_exp_t *tm);
-
-/**
- * Improve the clock resolution for the lifetime of the given pool.
- * Generally this is only desireable on benchmarking and other very
- * time-sensitive applications, and has no impact on most platforms.
- * @param p The pool to associate the finer clock resolution
- */
-APR_DECLARE(void) apr_time_clock_hires(apr_pool_t *p);
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ! APR_TIME_H */
diff --git a/rubbos/app/apache2/include/apr_uri.h b/rubbos/app/apache2/include/apr_uri.h
deleted file mode 100644
index 877e51a0..00000000
--- a/rubbos/app/apache2/include/apr_uri.h
+++ /dev/null
@@ -1,181 +0,0 @@
-/* Copyright 2000-2005 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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.
- */
-
-/*
- * apr_uri.h: External Interface of apr_uri.c
- */
-
-/**
- * @file apr_uri.h
- * @brief APR-UTIL URI Routines
- */
-
-#ifndef APR_URI_H
-#define APR_URI_H
-
-#include "apu.h"
-
-#include "apr_network_io.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @defgroup APR_Util_URI URI
- * @ingroup APR_Util
- * @{
- */
-
-#define APR_URI_FTP_DEFAULT_PORT 21 /**< default FTP port */
-#define APR_URI_SSH_DEFAULT_PORT 22 /**< default SSH port */
-#define APR_URI_TELNET_DEFAULT_PORT 23 /**< default telnet port */
-#define APR_URI_GOPHER_DEFAULT_PORT 70 /**< default Gopher port */
-#define APR_URI_HTTP_DEFAULT_PORT 80 /**< default HTTP port */
-#define APR_URI_POP_DEFAULT_PORT 110 /**< default POP port */
-#define APR_URI_NNTP_DEFAULT_PORT 119 /**< default NNTP port */
-#define APR_URI_IMAP_DEFAULT_PORT 143 /**< default IMAP port */
-#define APR_URI_PROSPERO_DEFAULT_PORT 191 /**< default Prospero port */
-#define APR_URI_WAIS_DEFAULT_PORT 210 /**< default WAIS port */
-#define APR_URI_LDAP_DEFAULT_PORT 389 /**< default LDAP port */
-#define APR_URI_HTTPS_DEFAULT_PORT 443 /**< default HTTPS port */
-#define APR_URI_RTSP_DEFAULT_PORT 554 /**< default RTSP port */
-#define APR_URI_SNEWS_DEFAULT_PORT 563 /**< default SNEWS port */
-#define APR_URI_ACAP_DEFAULT_PORT 674 /**< default ACAP port */
-#define APR_URI_NFS_DEFAULT_PORT 2049 /**< default NFS port */
-#define APR_URI_TIP_DEFAULT_PORT 3372 /**< default TIP port */
-#define APR_URI_SIP_DEFAULT_PORT 5060 /**< default SIP port */
-
-/** Flags passed to unparse_uri_components(): */
-/** suppress "scheme://user\@site:port" */
-#define APR_URI_UNP_OMITSITEPART (1U<<0)
-/** Just omit user */
-#define APR_URI_UNP_OMITUSER (1U<<1)
-/** Just omit password */
-#define APR_URI_UNP_OMITPASSWORD (1U<<2)
-/** omit "user:password\@" part */
-#define APR_URI_UNP_OMITUSERINFO (APR_URI_UNP_OMITUSER | \
- APR_URI_UNP_OMITPASSWORD)
-/** Show plain text password (default: show XXXXXXXX) */
-#define APR_URI_UNP_REVEALPASSWORD (1U<<3)
-/** Show "scheme://user\@site:port" only */
-#define APR_URI_UNP_OMITPATHINFO (1U<<4)
-/** Omit the "?queryarg" from the path */
-#define APR_URI_UNP_OMITQUERY (1U<<5)
-
-/** @see apr_uri_t */
-typedef struct apr_uri_t apr_uri_t;
-
-/**
- * A structure to encompass all of the fields in a uri
- */
-struct apr_uri_t {
- /** scheme ("http"/"ftp"/...) */
- char *scheme;
- /** combined [user[:password]\@]host[:port] */
- char *hostinfo;
- /** user name, as in http://user:passwd\@host:port/ */
- char *user;
- /** password, as in http://user:passwd\@host:port/ */
- char *password;
- /** hostname from URI (or from Host: header) */
- char *hostname;
- /** port string (integer representation is in "port") */
- char *port_str;
- /** the request path (or "/" if only scheme://host was given) */
- char *path;
- /** Everything after a '?' in the path, if present */
- char *query;
- /** Trailing "#fragment" string, if present */
- char *fragment;
-
- /** structure returned from gethostbyname() */
- struct hostent *hostent;
-
- /** The port number, numeric, valid only if port_str != NULL */
- apr_port_t port;
-
- /** has the structure been initialized */
- unsigned is_initialized:1;
-
- /** has the DNS been looked up yet */
- unsigned dns_looked_up:1;
- /** has the dns been resolved yet */
- unsigned dns_resolved:1;
-};
-
-/* apr_uri.c */
-/**
- * Return the default port for a given scheme. The schemes recognized are
- * http, ftp, https, gopher, wais, nntp, snews, and prospero
- * @param scheme_str The string that contains the current scheme
- * @return The default port for this scheme
- */
-APU_DECLARE(apr_port_t) apr_uri_port_of_scheme(const char *scheme_str);
-
-/** @deprecated @see apr_uri_port_of_scheme */
-APU_DECLARE(apr_port_t) apr_uri_default_port_for_scheme(const char *scheme_str);
-
-/**
- * Unparse a apr_uri_t structure to an URI string. Optionally
- * suppress the password for security reasons.
- * @param p The pool to allocate out of
- * @param uptr All of the parts of the uri
- * @param flags How to unparse the uri. One of:
- * <PRE>
- * APR_URI_UNP_OMITSITEPART Suppress "scheme://user\@site:port"
- * APR_URI_UNP_OMITUSER Just omit user
- * APR_URI_UNP_OMITPASSWORD Just omit password
- * APR_URI_UNP_OMITUSERINFO Omit "user:password\@" part
- * APR_URI_UNP_REVEALPASSWORD Show plain text password (default: show XXXXXXXX)
- * APR_URI_UNP_OMITPATHINFO Show "scheme://user\@site:port" only
- * APR_URI_UNP_OMITQUERY Omit "?queryarg" or "#fragment"
- * </PRE>
- * @return The uri as a string
- */
-APU_DECLARE(char *) apr_uri_unparse(apr_pool_t *p,
- const apr_uri_t *uptr,
- unsigned flags);
-
-/**
- * Parse a given URI, fill in all supplied fields of a apr_uri_t
- * structure. This eliminates the necessity of extracting host, port,
- * path, query info repeatedly in the modules.
- * @param p The pool to allocate out of
- * @param uri The uri to parse
- * @param uptr The apr_uri_t to fill out
- * @return APR_SUCCESS for success or error code
- */
-APU_DECLARE(apr_status_t) apr_uri_parse(apr_pool_t *p, const char *uri,
- apr_uri_t *uptr);
-
-/**
- * Special case for CONNECT parsing: it comes with the hostinfo part only
- * @param p The pool to allocate out of
- * @param hostinfo The hostinfo string to parse
- * @param uptr The apr_uri_t to fill out
- * @return APR_SUCCESS for success or error code
- */
-APU_DECLARE(apr_status_t) apr_uri_parse_hostinfo(apr_pool_t *p,
- const char *hostinfo,
- apr_uri_t *uptr);
-
-/** @} */
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* APR_URI_H */
diff --git a/rubbos/app/apache2/include/apr_user.h b/rubbos/app/apache2/include/apr_user.h
deleted file mode 100644
index d96d5407..00000000
--- a/rubbos/app/apache2/include/apr_user.h
+++ /dev/null
@@ -1,195 +0,0 @@
-/* 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 APR_USER_H
-#define APR_USER_H
-
-/**
- * @file apr_user.h
- * @brief APR User ID Services
- */
-
-#include "apr.h"
-#include "apr_errno.h"
-#include "apr_pools.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @defgroup apr_user User and Group ID Services
- * @ingroup APR
- * @{
- */
-
-/**
- * Structure for determining user ownership.
- */
-#ifdef WIN32
-typedef PSID apr_uid_t;
-#else
-typedef uid_t apr_uid_t;
-#endif
-
-/**
- * Structure for determining group ownership.
- */
-#ifdef WIN32
-typedef PSID apr_gid_t;
-#else
-typedef gid_t apr_gid_t;
-#endif
-
-#if APR_HAS_USER
-
-/**
- * Get the userid (and groupid) of the calling process
- * @param userid Returns the user id
- * @param groupid Returns the user's group id
- * @param p The pool from which to allocate working space
- * @remark This function is available only if APR_HAS_USER is defined.
- */
-APR_DECLARE(apr_status_t) apr_uid_current(apr_uid_t *userid,
- apr_gid_t *groupid,
- apr_pool_t *p);
-
-/** @deprecated @see apr_uid_current */
-APR_DECLARE(apr_status_t) apr_current_userid(apr_uid_t *userid,
- apr_gid_t *groupid,
- apr_pool_t *p);
-/**
- * Get the user name for a specified userid
- * @param username Pointer to new string containing user name (on output)
- * @param userid The userid
- * @param p The pool from which to allocate the string
- * @remark This function is available only if APR_HAS_USER is defined.
- */
-APR_DECLARE(apr_status_t) apr_uid_name_get(char **username, apr_uid_t userid,
- apr_pool_t *p);
-
-/** @deprecated @see apr_uid_name_get */
-APR_DECLARE(apr_status_t) apr_get_username(char **username, apr_uid_t userid,
- apr_pool_t *p);
-/**
- * Get the userid (and groupid) for the specified username
- * @param userid Returns the user id
- * @param groupid Returns the user's group id
- * @param username The username to lookup
- * @param p The pool from which to allocate working space
- * @remark This function is available only if APR_HAS_USER is defined.
- */
-APR_DECLARE(apr_status_t) apr_uid_get(apr_uid_t *userid, apr_gid_t *groupid,
- const char *username, apr_pool_t *p);
-
-/** @deprecated @see apr_uid_get */
-APR_DECLARE(apr_status_t) apr_get_userid(apr_uid_t *userid, apr_gid_t *groupid,
- const char *username, apr_pool_t *p);
-
-/**
- * Get the home directory for the named user
- * @param dirname Pointer to new string containing directory name (on output)
- * @param username The named user
- * @param p The pool from which to allocate the string
- * @remark This function is available only if APR_HAS_USER is defined.
- */
-APR_DECLARE(apr_status_t) apr_uid_homepath_get(char **dirname,
- const char *username,
- apr_pool_t *p);
-
-/** @deprecated @see apr_uid_homepath_get */
-APR_DECLARE(apr_status_t) apr_get_home_directory(char **dirname,
- const char *username,
- apr_pool_t *p);
-
-/**
- * Compare two user identifiers for equality.
- * @param left One uid to test
- * @param right Another uid to test
- * @return APR_SUCCESS if the apr_uid_t strutures identify the same user,
- * APR_EMISMATCH if not, APR_BADARG if an apr_uid_t is invalid.
- * @remark This function is available only if APR_HAS_USER is defined.
- */
-#if defined(WIN32)
-APR_DECLARE(apr_status_t) apr_uid_compare(apr_uid_t left, apr_uid_t right);
-
-/** @deprecated @see apr_uid_compare */
-APR_DECLARE(apr_status_t) apr_compare_users(apr_uid_t left, apr_uid_t right);
-#else
-#define apr_uid_compare(left,right) (((left) == (right)) ? APR_SUCCESS : APR_EMISMATCH)
-/** @deprecated @see apr_uid_compare */
-#define apr_compare_users(left,right) (((left) == (right)) ? APR_SUCCESS : APR_EMISMATCH)
-#endif
-
-/**
- * Get the group name for a specified groupid
- * @param groupname Pointer to new string containing group name (on output)
- * @param groupid The groupid
- * @param p The pool from which to allocate the string
- * @remark This function is available only if APR_HAS_USER is defined.
- */
-APR_DECLARE(apr_status_t) apr_gid_name_get(char **groupname,
- apr_gid_t groupid, apr_pool_t *p);
-
-/** @deprecated @see apr_gid_name_get */
-APR_DECLARE(apr_status_t) apr_group_name_get(char **groupname,
- apr_gid_t groupid, apr_pool_t *p);
-
-/** @deprecated @see apr_gid_name_get */
-APR_DECLARE(apr_status_t) apr_get_groupname(char **groupname,
- apr_gid_t groupid, apr_pool_t *p);
-
-/**
- * Get the groupid for a specified group name
- * @param groupid Pointer to the group id (on output)
- * @param groupname The group name to look up
- * @param p The pool from which to allocate the string
- * @remark This function is available only if APR_HAS_USER is defined.
- */
-APR_DECLARE(apr_status_t) apr_gid_get(apr_gid_t *groupid,
- const char *groupname, apr_pool_t *p);
-
-/** @deprecated @see apr_gid_get */
-APR_DECLARE(apr_status_t) apr_get_groupid(apr_gid_t *groupid,
- const char *groupname, apr_pool_t *p);
-
-/**
- * Compare two group identifiers for equality.
- * @param left One gid to test
- * @param right Another gid to test
- * @return APR_SUCCESS if the apr_gid_t strutures identify the same group,
- * APR_EMISMATCH if not, APR_BADARG if an apr_gid_t is invalid.
- * @remark This function is available only if APR_HAS_USER is defined.
- */
-#if defined(WIN32)
-APR_DECLARE(apr_status_t) apr_gid_compare(apr_gid_t left, apr_gid_t right);
-/** @deprecated @see apr_gid_compare */
-APR_DECLARE(apr_status_t) apr_compare_groups(apr_gid_t left, apr_gid_t right);
-#else
-#define apr_gid_compare(left,right) (((left) == (right)) ? APR_SUCCESS : APR_EMISMATCH)
-/** @deprecated @see apr_gid_compare */
-#define apr_compare_groups(left,right) (((left) == (right)) ? APR_SUCCESS : APR_EMISMATCH)
-#endif
-
-#endif /* ! APR_HAS_USER */
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ! APR_USER_H */
diff --git a/rubbos/app/apache2/include/apr_uuid.h b/rubbos/app/apache2/include/apr_uuid.h
deleted file mode 100644
index 820d7409..00000000
--- a/rubbos/app/apache2/include/apr_uuid.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Copyright 2000-2005 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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 apr_uuid.h
- * @brief APR UUID library
- */
-#ifndef APR_UUID_H
-#define APR_UUID_H
-
-#include "apu.h"
-#include "apr_errno.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @defgroup APR_UUID UUID Handling
- * @ingroup APR
- * @{
- */
-
-/**
- * we represent a UUID as a block of 16 bytes.
- */
-
-typedef struct {
- unsigned char data[16]; /**< the actual UUID */
-} apr_uuid_t;
-
-/** UUIDs are formatted as: 00112233-4455-6677-8899-AABBCCDDEEFF */
-#define APR_UUID_FORMATTED_LENGTH 36
-
-
-/**
- * Generate and return a (new) UUID
- * @param uuid The resulting UUID
- */
-APU_DECLARE(void) apr_uuid_get(apr_uuid_t *uuid);
-
-/**
- * Format a UUID into a string, following the standard format
- * @param buffer The buffer to place the formatted UUID string into. It must
- * be at least APR_UUID_FORMATTED_LENGTH + 1 bytes long to hold
- * the formatted UUID and a null terminator
- * @param uuid The UUID to format
- */
-APU_DECLARE(void) apr_uuid_format(char *buffer, const apr_uuid_t *uuid);
-
-/**
- * Parse a standard-format string into a UUID
- * @param uuid The resulting UUID
- * @param uuid_str The formatted UUID
- */
-APU_DECLARE(apr_status_t) apr_uuid_parse(apr_uuid_t *uuid, const char *uuid_str);
-
-/** @} */
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* APR_UUID_H */
diff --git a/rubbos/app/apache2/include/apr_version.h b/rubbos/app/apache2/include/apr_version.h
deleted file mode 100644
index 08bcd288..00000000
--- a/rubbos/app/apache2/include/apr_version.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/* 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 APR_VERSION_H
-#define APR_VERSION_H
-
-#include "apr.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @file apr_version.h
- * @brief APR Versioning Interface
- *
- * APR's Version
- *
- * There are several different mechanisms for accessing the version. There
- * is a string form, and a set of numbers; in addition, there are constants
- * which can be compiled into your application, and you can query the library
- * being used for its actual version.
- *
- * Note that it is possible for an application to detect that it has been
- * compiled against a different version of APR by use of the compile-time
- * constants and the use of the run-time query function.
- *
- * APR version numbering follows the guidelines specified in:
- *
- * http://apr.apache.org/versioning.html
- */
-
-/* The numeric compile-time version constants. These constants are the
- * authoritative version numbers for APR.
- */
-
-/** major version
- * Major API changes that could cause compatibility problems for older
- * programs such as structure size changes. No binary compatibility is
- * possible across a change in the major version.
- */
-#define APR_MAJOR_VERSION 0
-
-/**
- * Minor API changes that do not cause binary compatibility problems.
- * Should be reset to 0 when upgrading APR_MAJOR_VERSION
- */
-#define APR_MINOR_VERSION 9
-
-/** patch level */
-#define APR_PATCH_VERSION 19
-
-/**
- * This symbol is defined for internal, "development" copies of APR. This
- * symbol will be #undef'd for releases.
- */
-/* #define APR_IS_DEV_VERSION */
-
-
-/** The formatted string of APR's version */
-#define APR_VERSION_STRING \
- APR_STRINGIFY(APR_MAJOR_VERSION) "." \
- APR_STRINGIFY(APR_MINOR_VERSION) "." \
- APR_STRINGIFY(APR_PATCH_VERSION) \
- APR_IS_DEV_STRING
-
-
-/**
- * The numeric version information is broken out into fields within this
- * structure.
- */
-typedef struct {
- int major; /**< major number */
- int minor; /**< minor number */
- int patch; /**< patch number */
- int is_dev; /**< is development (1 or 0) */
-} apr_version_t;
-
-/**
- * Return APR's version information information in a numeric form.
- *
- * @param pvsn Pointer to a version structure for returning the version
- * information.
- */
-APR_DECLARE(void) apr_version(apr_version_t *pvsn);
-
-/** Return APR's version information as a string. */
-APR_DECLARE(const char *) apr_version_string(void);
-
-
-/** Internal: string form of the "is dev" flag */
-#ifdef APR_IS_DEV_VERSION
-#define APR_IS_DEV_STRING "-dev"
-#else
-#define APR_IS_DEV_STRING ""
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* APR_VERSION_H */
diff --git a/rubbos/app/apache2/include/apr_want.h b/rubbos/app/apache2/include/apr_want.h
deleted file mode 100644
index 39cc4fcb..00000000
--- a/rubbos/app/apache2/include/apr_want.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/* 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.
- */
-
-#include "apr.h" /* configuration data */
-/**
- * @file apr_want.h
- * @brief APR Standard Headers Support
- *
- * <PRE>
- * Features:
- *
- * APR_WANT_STRFUNC: strcmp, strcat, strcpy, etc
- * APR_WANT_MEMFUNC: memcmp, memcpy, etc
- * APR_WANT_STDIO: <stdio.h> and related bits
- * APR_WANT_IOVEC: struct iovec
- * APR_WANT_BYTEFUNC: htons, htonl, ntohl, ntohs
- *
- * Typical usage:
- *
- * #define APR_WANT_STRFUNC
- * #define APR_WANT_MEMFUNC
- * #include "apr_want.h"
- *
- * The appropriate headers will be included.
- *
- * Note: it is safe to use this in a header (it won't interfere with other
- * headers' or source files' use of apr_want.h)
- * </PRE>
- */
-
-/* --------------------------------------------------------------------- */
-
-#ifdef APR_WANT_STRFUNC
-
-#if APR_HAVE_STRING_H
-#include <string.h>
-#endif
-#if APR_HAVE_STRINGS_H
-#include <strings.h>
-#endif
-
-#undef APR_WANT_STRFUNC
-#endif
-
-/* --------------------------------------------------------------------- */
-
-#ifdef APR_WANT_MEMFUNC
-
-#if APR_HAVE_STRING_H
-#include <string.h>
-#endif
-
-#undef APR_WANT_MEMFUNC
-#endif
-
-/* --------------------------------------------------------------------- */
-
-#ifdef APR_WANT_STDIO
-
-#if APR_HAVE_STDIO_H
-#include <stdio.h>
-#endif
-
-#undef APR_WANT_STDIO
-#endif
-
-/* --------------------------------------------------------------------- */
-
-#ifdef APR_WANT_IOVEC
-
-#if APR_HAVE_SYS_UIO_H
-#include <sys/uio.h>
-#endif
-
-#undef APR_WANT_IOVEC
-#endif
-
-/* --------------------------------------------------------------------- */
-
-#ifdef APR_WANT_BYTEFUNC
-
-/* Single Unix says they are in arpa/inet.h. Linux has them in
- * netinet/in.h. FreeBSD has them in arpa/inet.h but requires that
- * netinet/in.h be included first.
- */
-#if APR_HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#if APR_HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-
-#undef APR_WANT_BYTEFUNC
-#endif
-
-/* --------------------------------------------------------------------- */
diff --git a/rubbos/app/apache2/include/apr_xlate.h b/rubbos/app/apache2/include/apr_xlate.h
deleted file mode 100644
index 92e77464..00000000
--- a/rubbos/app/apache2/include/apr_xlate.h
+++ /dev/null
@@ -1,158 +0,0 @@
-/* Copyright 2000-2005 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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 APR_XLATE_H
-#define APR_XLATE_H
-
-#include "apu.h"
-#include "apr_pools.h"
-#include "apr_errno.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @file apr_xlate.h
- * @brief APR I18N translation library
- */
-
-/**
- * @defgroup APR_XLATE I18N translation library
- * @ingroup APR
- * @{
- */
-/** Opaque translation buffer */
-typedef struct apr_xlate_t apr_xlate_t;
-
-/**
- * Set up for converting text from one charset to another.
- * @param convset The handle to be filled in by this function
- * @param topage The name of the target charset
- * @param frompage The name of the source charset
- * @param pool The pool to use
- * @remark
- * Specify APR_DEFAULT_CHARSET for one of the charset
- * names to indicate the charset of the source code at
- * compile time. This is useful if there are literal
- * strings in the source code which must be translated
- * according to the charset of the source code.
- * APR_DEFAULT_CHARSET is not useful if the source code
- * of the caller was not encoded in the same charset as
- * APR at compile time.
- *
- * @remark
- * Specify APR_LOCALE_CHARSET for one of the charset
- * names to indicate the charset of the current locale.
- *
- * @remark
- * Return APR_EINVAL if unable to procure a convset, or APR_ENOTIMPL
- * if charset transcoding is not available in this instance of
- * apr-util at all (i.e., APR_HAS_XLATE is undefined).
- */
-APU_DECLARE(apr_status_t) apr_xlate_open(apr_xlate_t **convset,
- const char *topage,
- const char *frompage,
- apr_pool_t *pool);
-
-/**
- * This is to indicate the charset of the sourcecode at compile time
- * names to indicate the charset of the source code at
- * compile time. This is useful if there are literal
- * strings in the source code which must be translated
- * according to the charset of the source code.
- */
-#define APR_DEFAULT_CHARSET (const char *)0
-/**
- * To indicate charset names of the current locale
- */
-#define APR_LOCALE_CHARSET (const char *)1
-
-/**
- * Find out whether or not the specified conversion is single-byte-only.
- * @param convset The handle allocated by apr_xlate_open, specifying the
- * parameters of conversion
- * @param onoff Output: whether or not the conversion is single-byte-only
- * @remark
- * Return APR_ENOTIMPL if charset transcoding is not available
- * in this instance of apr-util (i.e., APR_HAS_XLATE is undefined).
- */
-APU_DECLARE(apr_status_t) apr_xlate_sb_get(apr_xlate_t *convset, int *onoff);
-
-/** @deprecated @see apr_xlate_sb_get */
-APU_DECLARE(apr_status_t) apr_xlate_get_sb(apr_xlate_t *convset, int *onoff);
-
-/**
- * Convert a buffer of text from one codepage to another.
- * @param convset The handle allocated by apr_xlate_open, specifying
- * the parameters of conversion
- * @param inbuf The address of the source buffer
- * @param inbytes_left Input: the amount of input data to be translated
- * Output: the amount of input data not yet translated
- * @param outbuf The address of the destination buffer
- * @param outbytes_left Input: the size of the output buffer
- * Output: the amount of the output buffer not yet used
- * @remark
- * Return APR_ENOTIMPL if charset transcoding is not available
- * in this instance of apr-util (i.e., APR_HAS_XLATE is undefined).
- */
-APU_DECLARE(apr_status_t) apr_xlate_conv_buffer(apr_xlate_t *convset,
- const char *inbuf,
- apr_size_t *inbytes_left,
- char *outbuf,
- apr_size_t *outbytes_left);
-
-/* @see apr_file_io.h the comment in apr_file_io.h about this hack */
-#ifdef APR_NOT_DONE_YET
-/**
- * The purpose of apr_xlate_conv_char is to translate one character
- * at a time. This needs to be written carefully so that it works
- * with double-byte character sets.
- * @param convset The handle allocated by apr_xlate_open, specifying the
- * parameters of conversion
- * @param inchar The character to convert
- * @param outchar The converted character
- */
-APU_DECLARE(apr_status_t) apr_xlate_conv_char(apr_xlate_t *convset,
- char inchar, char outchar);
-#endif
-
-/**
- * Convert a single-byte character from one charset to another.
- * @param convset The handle allocated by apr_xlate_open, specifying the
- * parameters of conversion
- * @param inchar The single-byte character to convert.
- * @warning This only works when converting between single-byte character sets.
- * -1 will be returned if the conversion can't be performed.
- */
-APU_DECLARE(apr_int32_t) apr_xlate_conv_byte(apr_xlate_t *convset,
- unsigned char inchar);
-
-/**
- * Close a codepage translation handle.
- * @param convset The codepage translation handle to close
- * @remark
- * Return APR_ENOTIMPL if charset transcoding is not available
- * in this instance of apr-util (i.e., APR_HAS_XLATE is undefined).
- */
-APU_DECLARE(apr_status_t) apr_xlate_close(apr_xlate_t *convset);
-
-/** @} */
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ! APR_XLATE_H */
diff --git a/rubbos/app/apache2/include/apr_xml.h b/rubbos/app/apache2/include/apr_xml.h
deleted file mode 100644
index 551283e6..00000000
--- a/rubbos/app/apache2/include/apr_xml.h
+++ /dev/null
@@ -1,340 +0,0 @@
-/* Copyright 2000-2005 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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 apr_xml.h
- * @brief APR-UTIL XML Library
- */
-#ifndef APR_XML_H
-#define APR_XML_H
-
-/**
- * @defgroup APR_Util_XML XML
- * @ingroup APR_Util
- * @{
- */
-#include "apr_pools.h"
-#include "apr_tables.h"
-#include "apr_file_io.h"
-
-#include "apu.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @package Apache XML library
- */
-
-/* -------------------------------------------------------------------- */
-
-/* ### these will need to move at some point to a more logical spot */
-
-/** @see apr_text */
-typedef struct apr_text apr_text;
-
-/** Structure to keep a linked list of pieces of text */
-struct apr_text {
- /** The current piece of text */
- const char *text;
- /** a pointer to the next piece of text */
- struct apr_text *next;
-};
-
-/** @see apr_text_header */
-typedef struct apr_text_header apr_text_header;
-
-/** A list of pieces of text */
-struct apr_text_header {
- /** The first piece of text in the list */
- apr_text *first;
- /** The last piece of text in the list */
- apr_text *last;
-};
-
-/**
- * Append a piece of text to the end of a list
- * @param p The pool to allocate out of
- * @param hdr The text header to append to
- * @param text The new text to append
- */
-APU_DECLARE(void) apr_text_append(apr_pool_t *p, apr_text_header *hdr,
- const char *text);
-
-
-/* --------------------------------------------------------------------
-**
-** XML PARSING
-*/
-
-/*
-** Qualified namespace values
-**
-** APR_XML_NS_DAV_ID
-** We always insert the "DAV:" namespace URI at the head of the
-** namespace array. This means that it will always be at ID==0,
-** making it much easier to test for.
-**
-** APR_XML_NS_NONE
-** This special ID is used for two situations:
-**
-** 1) The namespace prefix begins with "xml" (and we do not know
-** what it means). Namespace prefixes with "xml" (any case) as
-** their first three characters are reserved by the XML Namespaces
-** specification for future use. mod_dav will pass these through
-** unchanged. When this identifier is used, the prefix is LEFT in
-** the element/attribute name. Downstream processing should not
-** prepend another prefix.
-**
-** 2) The element/attribute does not have a namespace.
-**
-** a) No prefix was used, and a default namespace has not been
-** defined.
-** b) No prefix was used, and the default namespace was specified
-** to mean "no namespace". This is done with a namespace
-** declaration of: xmlns=""
-** (this declaration is typically used to override a previous
-** specification for the default namespace)
-**
-** In these cases, we need to record that the elem/attr has no
-** namespace so that we will not attempt to prepend a prefix.
-** All namespaces that are used will have a prefix assigned to
-** them -- mod_dav will never set or use the default namespace
-** when generating XML. This means that "no prefix" will always
-** mean "no namespace".
-**
-** In both cases, the XML generation will avoid prepending a prefix.
-** For the first case, this means the original prefix/name will be
-** inserted into the output stream. For the latter case, it means
-** the name will have no prefix, and since we never define a default
-** namespace, this means it will have no namespace.
-**
-** Note: currently, mod_dav understands the "xmlns" prefix and the
-** "xml:lang" attribute. These are handled specially (they aren't
-** left within the XML tree), so the APR_XML_NS_NONE value won't ever
-** really apply to these values.
-*/
-#define APR_XML_NS_DAV_ID 0 /**< namespace ID for "DAV:" */
-#define APR_XML_NS_NONE -10 /**< no namespace for this elem/attr */
-
-#define APR_XML_NS_ERROR_BASE -100 /**< used only during processing */
-/** Is this namespace an error? */
-#define APR_XML_NS_IS_ERROR(e) ((e) <= APR_XML_NS_ERROR_BASE)
-
-/** @see apr_xml_attr */
-typedef struct apr_xml_attr apr_xml_attr;
-/** @see apr_xml_elem */
-typedef struct apr_xml_elem apr_xml_elem;
-/** @see apr_xml_doc */
-typedef struct apr_xml_doc apr_xml_doc;
-
-/** apr_xml_attr: holds a parsed XML attribute */
-struct apr_xml_attr {
- /** attribute name */
- const char *name;
- /** index into namespace array */
- int ns;
-
- /** attribute value */
- const char *value;
-
- /** next attribute */
- struct apr_xml_attr *next;
-};
-
-/** apr_xml_elem: holds a parsed XML element */
-struct apr_xml_elem {
- /** element name */
- const char *name;
- /** index into namespace array */
- int ns;
- /** xml:lang for attrs/contents */
- const char *lang;
-
- /** cdata right after start tag */
- apr_text_header first_cdata;
- /** cdata after MY end tag */
- apr_text_header following_cdata;
-
- /** parent element */
- struct apr_xml_elem *parent;
- /** next (sibling) element */
- struct apr_xml_elem *next;
- /** first child element */
- struct apr_xml_elem *first_child;
- /** first attribute */
- struct apr_xml_attr *attr;
-
- /* used only during parsing */
- /** last child element */
- struct apr_xml_elem *last_child;
- /** namespaces scoped by this elem */
- struct apr_xml_ns_scope *ns_scope;
-
- /* used by modules during request processing */
- /** Place for modules to store private data */
- void *priv;
-};
-
-/** Is this XML element empty? */
-#define APR_XML_ELEM_IS_EMPTY(e) ((e)->first_child == NULL && \
- (e)->first_cdata.first == NULL)
-
-/** apr_xml_doc: holds a parsed XML document */
-struct apr_xml_doc {
- /** root element */
- apr_xml_elem *root;
- /** array of namespaces used */
- apr_array_header_t *namespaces;
-};
-
-/** Opaque XML parser structure */
-typedef struct apr_xml_parser apr_xml_parser;
-
-/**
- * Create an XML parser
- * @param pool The pool for allocating the parser and the parse results.
- * @return The new parser.
- */
-APU_DECLARE(apr_xml_parser *) apr_xml_parser_create(apr_pool_t *pool);
-
-/**
- * Parse a File, producing a xml_doc
- * @param p The pool for allocating the parse results.
- * @param parser A pointer to *parser (needed so calling function can get
- * errors), will be set to NULL on successfull completion.
- * @param ppdoc A pointer to *apr_xml_doc (which has the parsed results in it)
- * @param xmlfd A file to read from.
- * @param buffer_length Buffer length which would be suitable
- * @return Any errors found during parsing.
- */
-APU_DECLARE(apr_status_t) apr_xml_parse_file(apr_pool_t *p,
- apr_xml_parser **parser,
- apr_xml_doc **ppdoc,
- apr_file_t *xmlfd,
- apr_size_t buffer_length);
-
-
-/**
- * Feed input into the parser
- * @param parser The XML parser for parsing this data.
- * @param data The data to parse.
- * @param len The length of the data.
- * @return Any errors found during parsing.
- * @remark Use apr_xml_parser_geterror() to get more error information.
- */
-APU_DECLARE(apr_status_t) apr_xml_parser_feed(apr_xml_parser *parser,
- const char *data,
- apr_size_t len);
-
-/**
- * Terminate the parsing and return the result
- * @param parser The XML parser for parsing this data.
- * @param pdoc The resulting parse information. May be NULL to simply
- * terminate the parsing without fetching the info.
- * @return Any errors found during the final stage of parsing.
- * @remark Use apr_xml_parser_geterror() to get more error information.
- */
-APU_DECLARE(apr_status_t) apr_xml_parser_done(apr_xml_parser *parser,
- apr_xml_doc **pdoc);
-
-/**
- * Fetch additional error information from the parser.
- * @param parser The XML parser to query for errors.
- * @param errbuf A buffer for storing error text.
- * @param errbufsize The length of the error text buffer.
- * @return The error buffer
- */
-APU_DECLARE(char *) apr_xml_parser_geterror(apr_xml_parser *parser,
- char *errbuf,
- apr_size_t errbufsize);
-
-
-/**
- * Converts an XML element tree to flat text
- * @param p The pool to allocate out of
- * @param elem The XML element to convert
- * @param style How to covert the XML. One of:
- * <PRE>
- * APR_XML_X2T_FULL start tag, contents, end tag
- * APR_XML_X2T_INNER contents only
- * APR_XML_X2T_LANG_INNER xml:lang + inner contents
- * APR_XML_X2T_FULL_NS_LANG FULL + ns defns + xml:lang
- * </PRE>
- * @param namespaces The namespace of the current XML element
- * @param ns_map Namespace mapping
- * @param pbuf Buffer to put the converted text into
- * @param psize Size of the converted text
- */
-APU_DECLARE(void) apr_xml_to_text(apr_pool_t *p, const apr_xml_elem *elem,
- int style, apr_array_header_t *namespaces,
- int *ns_map, const char **pbuf,
- apr_size_t *psize);
-
-/* style argument values: */
-#define APR_XML_X2T_FULL 0 /**< start tag, contents, end tag */
-#define APR_XML_X2T_INNER 1 /**< contents only */
-#define APR_XML_X2T_LANG_INNER 2 /**< xml:lang + inner contents */
-#define APR_XML_X2T_FULL_NS_LANG 3 /**< FULL + ns defns + xml:lang */
-
-/**
- * empty XML element
- * @param p The pool to allocate out of
- * @param elem The XML element to empty
- * @return the string that was stored in the XML element
- */
-APU_DECLARE(const char *) apr_xml_empty_elem(apr_pool_t *p,
- const apr_xml_elem *elem);
-
-/**
- * quote an XML string
- * Replace '<', '>', and '&' with '&lt;', '&gt;', and '&amp;'.
- * @param p The pool to allocate out of
- * @param s The string to quote
- * @param quotes If quotes is true, then replace '"' with '&quot;'.
- * @return The quoted string
- * @note If the string does not contain special characters, it is not
- * duplicated into the pool and the original string is returned.
- */
-APU_DECLARE(const char *) apr_xml_quote_string(apr_pool_t *p, const char *s,
- int quotes);
-
-/**
- * Quote an XML element
- * @param p The pool to allocate out of
- * @param elem The element to quote
- */
-APU_DECLARE(void) apr_xml_quote_elem(apr_pool_t *p, apr_xml_elem *elem);
-
-/* manage an array of unique URIs: apr_xml_insert_uri() and APR_XML_URI_ITEM() */
-
-/**
- * return the URI's (existing) index, or insert it and return a new index
- * @param uri_array array to insert into
- * @param uri The uri to insert
- * @return int The uri's index
- */
-APU_DECLARE(int) apr_xml_insert_uri(apr_array_header_t *uri_array,
- const char *uri);
-
-/** Get the URI item for this XML element */
-#define APR_XML_GET_URI_ITEM(ary, i) (((const char * const *)(ary)->elts)[i])
-
-#ifdef __cplusplus
-}
-#endif
-/** @} */
-#endif /* APR_XML_H */
diff --git a/rubbos/app/apache2/include/apu.h b/rubbos/app/apache2/include/apu.h
deleted file mode 100644
index 42edff8d..00000000
--- a/rubbos/app/apache2/include/apu.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/* Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed 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.
- */
-
-/*
- * apu.h is generated from apu.h.in by configure -- do not edit apu.h
- */
-/* @file apu.h
- * @brief APR-Utility main file
- */
-/**
- * @defgroup APR_Util APR Utility Functions
- * @{
- */
-
-
-#ifndef APU_H
-#define APU_H
-
-/**
- * APU_DECLARE_EXPORT is defined when building the APR-UTIL dynamic library,
- * so that all public symbols are exported.
- *
- * APU_DECLARE_STATIC is defined when including the APR-UTIL public headers,
- * to provide static linkage when the dynamic library may be unavailable.
- *
- * APU_DECLARE_STATIC and APU_DECLARE_EXPORT are left undefined when
- * including the APR-UTIL public headers, to import and link the symbols from
- * the dynamic APR-UTIL library and assure appropriate indirection and calling
- * conventions at compile time.
- */
-
-/**
- * The public APR-UTIL functions are declared with APU_DECLARE(), so they may
- * use the most appropriate calling convention. Public APR functions with
- * variable arguments must use APU_DECLARE_NONSTD().
- *
- * @deffunc APU_DECLARE(rettype) apr_func(args);
- */
-#define APU_DECLARE(type) type
-/**
- * The public APR-UTIL functions using variable arguments are declared with
- * APU_DECLARE_NONSTD(), as they must use the C language calling convention.
- *
- * @deffunc APU_DECLARE_NONSTD(rettype) apr_func(args, ...);
- */
-#define APU_DECLARE_NONSTD(type) type
-/**
- * The public APR-UTIL variables are declared with APU_DECLARE_DATA.
- * This assures the appropriate indirection is invoked at compile time.
- *
- * @deffunc APU_DECLARE_DATA type apr_variable;
- * @tip APU_DECLARE_DATA extern type apr_variable; syntax is required for
- * declarations within headers to properly import the variable.
- */
-#define APU_DECLARE_DATA
-/*
- * we always have SDBM (it's in our codebase)
- */
-#define APU_HAVE_SDBM 1
-#define APU_HAVE_GDBM 0
-#define APU_HAVE_NDBM 0
-#define APU_HAVE_DB 0
-
-#if APU_HAVE_DB
-#define APU_HAVE_DB_VERSION 0
-#endif /* APU_HAVE_DB */
-
-#define APU_HAVE_APR_ICONV 0
-#define APU_HAVE_ICONV 1
-#define APR_HAS_XLATE (APU_HAVE_APR_ICONV || APU_HAVE_ICONV)
-
-#endif /* APU_H */
-/** @} */
diff --git a/rubbos/app/apache2/include/apu_compat.h b/rubbos/app/apache2/include/apu_compat.h
deleted file mode 100644
index 533f4945..00000000
--- a/rubbos/app/apache2/include/apu_compat.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/* Copyright 2000-2005 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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 apu_compat.h
- * @brief APR-UTIL Compabitlity Functions
- * @deprecated These functions are only present for historical purposes
- */
-#ifndef APU_COMPAT_H
-#define APU_COMPAT_H
-/**
- * @defgroup APR_Util_compat 1.3 Compatibility Functions
- * @ingroup APR_Util
- * @{
- */
-
-
-/* Include the apr compatibility changes, since apr-util users are
- * always apr users.
- */
-#include "apr_compat.h"
-
-/* --------------------------------------------------------------------
- * redefine 1.3.x symbols to those that now live in libapr-util
- */
-/** @deprecated @see apr_base64_decode */
-#define ap_base64decode apr_base64_decode
-/** @deprecated @see apr_base64_decode_binary */
-#define ap_base64decode_binary apr_base64_decode_binary
-/** @deprecated @see apr_base64_decode_len */
-#define ap_base64decode_len apr_base64_decode_len
-/** @deprecated @see apr_base64_encode */
-#define ap_base64encode apr_base64_encode
-/** @deprecated @see apr_base64_encode_binary */
-#define ap_base64encode_binary apr_base64_encode_binary
-/** @deprecated @see apr_base64_encode_len */
-#define ap_base64encode_len apr_base64_encode_len
-/** @deprecated @see apr_hook_deregister_all */
-#define ap_hook_deregister_all apr_hook_deregister_all
-/** @deprecated @see apr_hook_sort_register */
-#define ap_hook_sort_register apr_hook_sort_register
-/** @deprecated @see apr_hook_debug_show */
-#define ap_show_hook apr_hook_debug_show
-
-/* --------------------------------------------------------------------
- * the following symbols were moved from httpd-2.0/.../util_date.[ch]
- */
-/** @deprecated @see apr_date_parse_http */
-#define ap_parseHTTPdate apr_date_parse_http
-/** @deprecated @see apr_date_checkmask */
-#define ap_checkmask apr_date_checkmask
-
-/* --------------------------------------------------------------------
- * the following symbols were moved from httpd-2.0/.../util_xml.[ch]
- */
-/** @deprecated @see apr_text */
-#define ap_text apr_text
-/** @deprecated @see apr_text_header */
-#define ap_text_header apr_text_header
-/** @deprecated @see apr_text_append */
-#define ap_text_append apr_text_append
-
-/** @deprecated @see APR_XML_NS_DAV_ID */
-#define AP_XML_NS_DAV_ID APR_XML_NS_DAV_ID
-/** @deprecated @see APR_XML_NS_NONE */
-#define AP_XML_NS_NONE APR_XML_NS_NONE
-/** @deprecated @see APR_XML_NS_ERROR_BASE */
-#define AP_XML_NS_ERROR_BASE APR_XML_NS_ERROR_BASE
-/** @deprecated @see APR_XML_NS_IS_ERROR */
-#define AP_XML_NS_IS_ERROR(e) APR_XML_NS_IS_ERROR(e)
-/** @deprecated @see APR_XML_ELEM_IS_EMPTY */
-#define AP_XML_ELEM_IS_EMPTY(e) APR_XML_ELEM_IS_EMPTY(e)
-
-/** @deprecated @see apr_xml_attr */
-#define ap_xml_attr apr_xml_attr
-/** @deprecated @see apr_xml_elem */
-#define ap_xml_elem apr_xml_elem
-/** @deprecated @see apr_xml_doc */
-#define ap_xml_doc apr_xml_doc
-
-/** @deprecated @see apr_xml_to_text */
-#define ap_xml_to_text apr_xml_to_text
-/** @deprecated @see APR_XML_X2T_FULL */
-#define AP_XML_X2T_FULL APR_XML_X2T_FULL
-/** @deprecated @see APR_XML_X2T_INNER */
-#define AP_XML_X2T_INNER APR_XML_X2T_INNER
-/** @deprecated @see APR_XML_X2T_LANG_INNER */
-#define AP_XML_X2T_LANG_INNER APR_XML_X2T_LANG_INNER
-/** @deprecated @see APR_XML_X2T_FULL_NS_LANG */
-#define AP_XML_X2T_FULL_NS_LANG APR_XML_X2T_FULL_NS_LANG
-
-/** @deprecated @see apr_xml_empty_elem */
-#define ap_xml_empty_elem apr_xml_empty_elem
-/** @deprecated @see apr_xml_quote_string */
-#define ap_xml_quote_string apr_xml_quote_string
-/** @deprecated @see apr_xml_quote_elem */
-#define ap_xml_quote_elem apr_xml_quote_elem
-/** @deprecated @see apr_xml_insert_uri */
-#define ap_xml_insert_uri apr_xml_insert_uri
-/** @deprecated @see APR_XML_GET_URI_ITEM */
-#define AP_XML_GET_URI_ITEM(a,i) APR_XML_GET_URI_ITEM(a,i)
-/** @} */
-#endif /* APU_COMPAT_H */
diff --git a/rubbos/app/apache2/include/apu_version.h b/rubbos/app/apache2/include/apu_version.h
deleted file mode 100644
index 248e8ef5..00000000
--- a/rubbos/app/apache2/include/apu_version.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/* Copyright 2000-2005 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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 APU_VERSION_H
-#define APU_VERSION_H
-
-#include "apr_version.h"
-
-#include "apu.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @file apu_version.h
- * @brief
- *
- * APR-util's Version
- *
- * There are several different mechanisms for accessing the version. There
- * is a string form, and a set of numbers; in addition, there are constants
- * which can be compiled into your application, and you can query the library
- * being used for its actual version.
- *
- * Note that it is possible for an application to detect that it has been
- * compiled against a different version of APU by use of the compile-time
- * constants and the use of the run-time query function.
- *
- * APU version numbering follows the guidelines specified in:
- *
- * http://apr.apache.org/versioning.html
- */
-
-/* The numeric compile-time version constants. These constants are the
- * authoritative version numbers for APU.
- */
-
-/** major version
- * Major API changes that could cause compatibility problems for older
- * programs such as structure size changes. No binary compatibility is
- * possible across a change in the major version.
- */
-#define APU_MAJOR_VERSION 0
-
-/**
- * Minor API changes that do not cause binary compatibility problems.
- * Should be reset to 0 when upgrading APU_MAJOR_VERSION
- */
-#define APU_MINOR_VERSION 9
-
-/** patch level */
-#define APU_PATCH_VERSION 19
-
-/**
- * This symbol is defined for internal, "development" copies of APU. This
- * symbol will be #undef'd for releases.
- */
-/* #define APU_IS_DEV_VERSION */
-
-
-/** The formatted string of APU's version */
-#define APU_VERSION_STRING \
- APR_STRINGIFY(APU_MAJOR_VERSION) "." \
- APR_STRINGIFY(APU_MINOR_VERSION) "." \
- APR_STRINGIFY(APU_PATCH_VERSION) \
- APU_IS_DEV_STRING
-
-/**
- * Return APR-util's version information information in a numeric form.
- *
- * @param pvsn Pointer to a version structure for returning the version
- * information.
- */
-APU_DECLARE(void) apu_version(apr_version_t *pvsn);
-
-/** Return APU's version information as a string. */
-APU_DECLARE(const char *) apu_version_string(void);
-
-
-/** Internal: string form of the "is dev" flag */
-#ifdef APU_IS_DEV_VERSION
-#define APU_IS_DEV_STRING "-dev"
-#else
-#define APU_IS_DEV_STRING ""
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* APU_VERSION_H */
diff --git a/rubbos/app/apache2/include/apu_want.h b/rubbos/app/apache2/include/apu_want.h
deleted file mode 100644
index facf6b31..00000000
--- a/rubbos/app/apache2/include/apu_want.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed 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.
- */
-
-#include "apu.h" /* configuration data */
-
-/**
- * @file apu_want.h
- * @brief APR Standard Headers Support
- *
- * <PRE>
- * Features:
- *
- * APU_WANT_DB: <db.h>
- *
- * Typical usage:
- *
- * #define APU_WANT_DB
- * #include "apu_want.h"
- *
- * The appropriate headers will be included.
- *
- * Note: it is safe to use this in a header (it won't interfere with other
- * headers' or source files' use of apu_want.h)
- * </PRE>
- */
-
-/* --------------------------------------------------------------------- */
-
-#ifdef APU_WANT_DB
-
-#if APU_HAVE_DB
-#include <db.h>
-#endif
-
-#undef APU_WANT_DB
-#endif
-
-/* --------------------------------------------------------------------- */
diff --git a/rubbos/app/apache2/include/expat.h b/rubbos/app/apache2/include/expat.h
deleted file mode 100644
index f3130d45..00000000
--- a/rubbos/app/apache2/include/expat.h
+++ /dev/null
@@ -1,1001 +0,0 @@
-/* Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd
- See the file COPYING for copying permission.
-*/
-
-#ifndef XmlParse_INCLUDED
-#define XmlParse_INCLUDED 1
-
-#ifdef __VMS
-/* 0 1 2 3 0 1 2 3
- 1234567890123456789012345678901 1234567890123456789012345678901 */
-#define XML_SetProcessingInstructionHandler XML_SetProcessingInstrHandler
-#define XML_SetUnparsedEntityDeclHandler XML_SetUnparsedEntDeclHandler
-#define XML_SetStartNamespaceDeclHandler XML_SetStartNamespcDeclHandler
-#define XML_SetExternalEntityRefHandlerArg XML_SetExternalEntRefHandlerArg
-#endif
-
-#include <stdlib.h>
-
-#if defined(_MSC_EXTENSIONS) && !defined(__BEOS__) && !defined(__CYGWIN__)
-#define XML_USE_MSC_EXTENSIONS 1
-#endif
-
-/* Expat tries very hard to make the API boundary very specifically
- defined. There are two macros defined to control this boundary;
- each of these can be defined before including this header to
- achieve some different behavior, but doing so it not recommended or
- tested frequently.
-
- XMLCALL - The calling convention to use for all calls across the
- "library boundary." This will default to cdecl, and
- try really hard to tell the compiler that's what we
- want.
-
- XMLIMPORT - Whatever magic is needed to note that a function is
- to be imported from a dynamically loaded library
- (.dll, .so, or .sl, depending on your platform).
-
- The XMLCALL macro was added in Expat 1.95.7. The only one which is
- expected to be directly useful in client code is XMLCALL.
-
- Note that on at least some Unix versions, the Expat library must be
- compiled with the cdecl calling convention as the default since
- system headers may assume the cdecl convention.
-*/
-#ifndef XMLCALL
-#if defined(XML_USE_MSC_EXTENSIONS)
-#define XMLCALL __cdecl
-#elif defined(__GNUC__) && defined(__i386)
-#define XMLCALL __attribute__((cdecl))
-#else
-/* For any platform which uses this definition and supports more than
- one calling convention, we need to extend this definition to
- declare the convention used on that platform, if it's possible to
- do so.
-
- If this is the case for your platform, please file a bug report
- with information on how to identify your platform via the C
- pre-processor and how to specify the same calling convention as the
- platform's malloc() implementation.
-*/
-#define XMLCALL
-#endif
-#endif /* not defined XMLCALL */
-
-
-#if !defined(XML_STATIC) && !defined(XMLIMPORT)
-#ifndef XML_BUILDING_EXPAT
-/* using Expat from an application */
-
-#ifdef XML_USE_MSC_EXTENSIONS
-#define XMLIMPORT __declspec(dllimport)
-#endif
-
-#endif
-#endif /* not defined XML_STATIC */
-
-/* If we didn't define it above, define it away: */
-#ifndef XMLIMPORT
-#define XMLIMPORT
-#endif
-
-
-#define XMLPARSEAPI(type) XMLIMPORT type XMLCALL
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef XML_UNICODE_WCHAR_T
-#define XML_UNICODE
-#endif
-
-struct XML_ParserStruct;
-typedef struct XML_ParserStruct *XML_Parser;
-
-#ifdef XML_UNICODE /* Information is UTF-16 encoded. */
-#ifdef XML_UNICODE_WCHAR_T
-typedef wchar_t XML_Char;
-typedef wchar_t XML_LChar;
-#else
-typedef unsigned short XML_Char;
-typedef char XML_LChar;
-#endif /* XML_UNICODE_WCHAR_T */
-#else /* Information is UTF-8 encoded. */
-typedef char XML_Char;
-typedef char XML_LChar;
-#endif /* XML_UNICODE */
-
-/* Should this be defined using stdbool.h when C99 is available? */
-typedef unsigned char XML_Bool;
-#define XML_TRUE ((XML_Bool) 1)
-#define XML_FALSE ((XML_Bool) 0)
-
-/* The XML_Status enum gives the possible return values for several
- API functions. The preprocessor #defines are included so this
- stanza can be added to code that still needs to support older
- versions of Expat 1.95.x:
-
- #ifndef XML_STATUS_OK
- #define XML_STATUS_OK 1
- #define XML_STATUS_ERROR 0
- #endif
-
- Otherwise, the #define hackery is quite ugly and would have been
- dropped.
-*/
-enum XML_Status {
- XML_STATUS_ERROR = 0,
-#define XML_STATUS_ERROR XML_STATUS_ERROR
- XML_STATUS_OK = 1
-#define XML_STATUS_OK XML_STATUS_OK
-};
-
-enum XML_Error {
- XML_ERROR_NONE,
- XML_ERROR_NO_MEMORY,
- XML_ERROR_SYNTAX,
- XML_ERROR_NO_ELEMENTS,
- XML_ERROR_INVALID_TOKEN,
- XML_ERROR_UNCLOSED_TOKEN,
- XML_ERROR_PARTIAL_CHAR,
- XML_ERROR_TAG_MISMATCH,
- XML_ERROR_DUPLICATE_ATTRIBUTE,
- XML_ERROR_JUNK_AFTER_DOC_ELEMENT,
- XML_ERROR_PARAM_ENTITY_REF,
- XML_ERROR_UNDEFINED_ENTITY,
- XML_ERROR_RECURSIVE_ENTITY_REF,
- XML_ERROR_ASYNC_ENTITY,
- XML_ERROR_BAD_CHAR_REF,
- XML_ERROR_BINARY_ENTITY_REF,
- XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF,
- XML_ERROR_MISPLACED_XML_PI,
- XML_ERROR_UNKNOWN_ENCODING,
- XML_ERROR_INCORRECT_ENCODING,
- XML_ERROR_UNCLOSED_CDATA_SECTION,
- XML_ERROR_EXTERNAL_ENTITY_HANDLING,
- XML_ERROR_NOT_STANDALONE,
- XML_ERROR_UNEXPECTED_STATE,
- XML_ERROR_ENTITY_DECLARED_IN_PE,
- XML_ERROR_FEATURE_REQUIRES_XML_DTD,
- XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING,
- XML_ERROR_UNBOUND_PREFIX
-};
-
-enum XML_Content_Type {
- XML_CTYPE_EMPTY = 1,
- XML_CTYPE_ANY,
- XML_CTYPE_MIXED,
- XML_CTYPE_NAME,
- XML_CTYPE_CHOICE,
- XML_CTYPE_SEQ
-};
-
-enum XML_Content_Quant {
- XML_CQUANT_NONE,
- XML_CQUANT_OPT,
- XML_CQUANT_REP,
- XML_CQUANT_PLUS
-};
-
-/* If type == XML_CTYPE_EMPTY or XML_CTYPE_ANY, then quant will be
- XML_CQUANT_NONE, and the other fields will be zero or NULL.
- If type == XML_CTYPE_MIXED, then quant will be NONE or REP and
- numchildren will contain number of elements that may be mixed in
- and children point to an array of XML_Content cells that will be
- all of XML_CTYPE_NAME type with no quantification.
-
- If type == XML_CTYPE_NAME, then the name points to the name, and
- the numchildren field will be zero and children will be NULL. The
- quant fields indicates any quantifiers placed on the name.
-
- CHOICE and SEQ will have name NULL, the number of children in
- numchildren and children will point, recursively, to an array
- of XML_Content cells.
-
- The EMPTY, ANY, and MIXED types will only occur at top level.
-*/
-
-typedef struct XML_cp XML_Content;
-
-struct XML_cp {
- enum XML_Content_Type type;
- enum XML_Content_Quant quant;
- XML_Char * name;
- unsigned int numchildren;
- XML_Content * children;
-};
-
-
-/* This is called for an element declaration. See above for
- description of the model argument. It's the caller's responsibility
- to free model when finished with it.
-*/
-typedef void (XMLCALL *XML_ElementDeclHandler) (void *userData,
- const XML_Char *name,
- XML_Content *model);
-
-XMLPARSEAPI(void)
-XML_SetElementDeclHandler(XML_Parser parser,
- XML_ElementDeclHandler eldecl);
-
-/* The Attlist declaration handler is called for *each* attribute. So
- a single Attlist declaration with multiple attributes declared will
- generate multiple calls to this handler. The "default" parameter
- may be NULL in the case of the "#IMPLIED" or "#REQUIRED"
- keyword. The "isrequired" parameter will be true and the default
- value will be NULL in the case of "#REQUIRED". If "isrequired" is
- true and default is non-NULL, then this is a "#FIXED" default.
-*/
-typedef void (XMLCALL *XML_AttlistDeclHandler) (
- void *userData,
- const XML_Char *elname,
- const XML_Char *attname,
- const XML_Char *att_type,
- const XML_Char *dflt,
- int isrequired);
-
-XMLPARSEAPI(void)
-XML_SetAttlistDeclHandler(XML_Parser parser,
- XML_AttlistDeclHandler attdecl);
-
-/* The XML declaration handler is called for *both* XML declarations
- and text declarations. The way to distinguish is that the version
- parameter will be NULL for text declarations. The encoding
- parameter may be NULL for XML declarations. The standalone
- parameter will be -1, 0, or 1 indicating respectively that there
- was no standalone parameter in the declaration, that it was given
- as no, or that it was given as yes.
-*/
-typedef void (XMLCALL *XML_XmlDeclHandler) (void *userData,
- const XML_Char *version,
- const XML_Char *encoding,
- int standalone);
-
-XMLPARSEAPI(void)
-XML_SetXmlDeclHandler(XML_Parser parser,
- XML_XmlDeclHandler xmldecl);
-
-
-typedef struct {
- void *(XMLCALL *malloc_fcn)(size_t size);
- void *(XMLCALL *realloc_fcn)(void *ptr, size_t size);
- void (XMLCALL *free_fcn)(void *ptr);
-} XML_Memory_Handling_Suite;
-
-/* Constructs a new parser; encoding is the encoding specified by the
- external protocol or NULL if there is none specified.
-*/
-XMLPARSEAPI(XML_Parser)
-XML_ParserCreate(const XML_Char *encoding);
-
-/* Constructs a new parser and namespace processor. Element type
- names and attribute names that belong to a namespace will be
- expanded; unprefixed attribute names are never expanded; unprefixed
- element type names are expanded only if there is a default
- namespace. The expanded name is the concatenation of the namespace
- URI, the namespace separator character, and the local part of the
- name. If the namespace separator is '\0' then the namespace URI
- and the local part will be concatenated without any separator.
- When a namespace is not declared, the name and prefix will be
- passed through without expansion.
-*/
-XMLPARSEAPI(XML_Parser)
-XML_ParserCreateNS(const XML_Char *encoding, XML_Char namespaceSeparator);
-
-
-/* Constructs a new parser using the memory management suite referred to
- by memsuite. If memsuite is NULL, then use the standard library memory
- suite. If namespaceSeparator is non-NULL it creates a parser with
- namespace processing as described above. The character pointed at
- will serve as the namespace separator.
-
- All further memory operations used for the created parser will come from
- the given suite.
-*/
-XMLPARSEAPI(XML_Parser)
-XML_ParserCreate_MM(const XML_Char *encoding,
- const XML_Memory_Handling_Suite *memsuite,
- const XML_Char *namespaceSeparator);
-
-/* Prepare a parser object to be re-used. This is particularly
- valuable when memory allocation overhead is disproportionatly high,
- such as when a large number of small documnents need to be parsed.
- All handlers are cleared from the parser, except for the
- unknownEncodingHandler. The parser's external state is re-initialized
- except for the values of ns and ns_triplets.
-
- Added in Expat 1.95.3.
-*/
-XMLPARSEAPI(XML_Bool)
-XML_ParserReset(XML_Parser parser, const XML_Char *encoding);
-
-/* atts is array of name/value pairs, terminated by 0;
- names and values are 0 terminated.
-*/
-typedef void (XMLCALL *XML_StartElementHandler) (void *userData,
- const XML_Char *name,
- const XML_Char **atts);
-
-typedef void (XMLCALL *XML_EndElementHandler) (void *userData,
- const XML_Char *name);
-
-
-/* s is not 0 terminated. */
-typedef void (XMLCALL *XML_CharacterDataHandler) (void *userData,
- const XML_Char *s,
- int len);
-
-/* target and data are 0 terminated */
-typedef void (XMLCALL *XML_ProcessingInstructionHandler) (
- void *userData,
- const XML_Char *target,
- const XML_Char *data);
-
-/* data is 0 terminated */
-typedef void (XMLCALL *XML_CommentHandler) (void *userData,
- const XML_Char *data);
-
-typedef void (XMLCALL *XML_StartCdataSectionHandler) (void *userData);
-typedef void (XMLCALL *XML_EndCdataSectionHandler) (void *userData);
-
-/* This is called for any characters in the XML document for which
- there is no applicable handler. This includes both characters that
- are part of markup which is of a kind that is not reported
- (comments, markup declarations), or characters that are part of a
- construct which could be reported but for which no handler has been
- supplied. The characters are passed exactly as they were in the XML
- document except that they will be encoded in UTF-8 or UTF-16.
- Line boundaries are not normalized. Note that a byte order mark
- character is not passed to the default handler. There are no
- guarantees about how characters are divided between calls to the
- default handler: for example, a comment might be split between
- multiple calls.
-*/
-typedef void (XMLCALL *XML_DefaultHandler) (void *userData,
- const XML_Char *s,
- int len);
-
-/* This is called for the start of the DOCTYPE declaration, before
- any DTD or internal subset is parsed.
-*/
-typedef void (XMLCALL *XML_StartDoctypeDeclHandler) (
- void *userData,
- const XML_Char *doctypeName,
- const XML_Char *sysid,
- const XML_Char *pubid,
- int has_internal_subset);
-
-/* This is called for the start of the DOCTYPE declaration when the
- closing > is encountered, but after processing any external
- subset.
-*/
-typedef void (XMLCALL *XML_EndDoctypeDeclHandler)(void *userData);
-
-/* This is called for entity declarations. The is_parameter_entity
- argument will be non-zero if the entity is a parameter entity, zero
- otherwise.
-
- For internal entities (<!ENTITY foo "bar">), value will
- be non-NULL and systemId, publicID, and notationName will be NULL.
- The value string is NOT nul-terminated; the length is provided in
- the value_length argument. Since it is legal to have zero-length
- values, do not use this argument to test for internal entities.
-
- For external entities, value will be NULL and systemId will be
- non-NULL. The publicId argument will be NULL unless a public
- identifier was provided. The notationName argument will have a
- non-NULL value only for unparsed entity declarations.
-
- Note that is_parameter_entity can't be changed to XML_Bool, since
- that would break binary compatibility.
-*/
-typedef void (XMLCALL *XML_EntityDeclHandler) (
- void *userData,
- const XML_Char *entityName,
- int is_parameter_entity,
- const XML_Char *value,
- int value_length,
- const XML_Char *base,
- const XML_Char *systemId,
- const XML_Char *publicId,
- const XML_Char *notationName);
-
-XMLPARSEAPI(void)
-XML_SetEntityDeclHandler(XML_Parser parser,
- XML_EntityDeclHandler handler);
-
-/* OBSOLETE -- OBSOLETE -- OBSOLETE
- This handler has been superceded by the EntityDeclHandler above.
- It is provided here for backward compatibility.
-
- This is called for a declaration of an unparsed (NDATA) entity.
- The base argument is whatever was set by XML_SetBase. The
- entityName, systemId and notationName arguments will never be
- NULL. The other arguments may be.
-*/
-typedef void (XMLCALL *XML_UnparsedEntityDeclHandler) (
- void *userData,
- const XML_Char *entityName,
- const XML_Char *base,
- const XML_Char *systemId,
- const XML_Char *publicId,
- const XML_Char *notationName);
-
-/* This is called for a declaration of notation. The base argument is
- whatever was set by XML_SetBase. The notationName will never be
- NULL. The other arguments can be.
-*/
-typedef void (XMLCALL *XML_NotationDeclHandler) (
- void *userData,
- const XML_Char *notationName,
- const XML_Char *base,
- const XML_Char *systemId,
- const XML_Char *publicId);
-
-/* When namespace processing is enabled, these are called once for
- each namespace declaration. The call to the start and end element
- handlers occur between the calls to the start and end namespace
- declaration handlers. For an xmlns attribute, prefix will be
- NULL. For an xmlns="" attribute, uri will be NULL.
-*/
-typedef void (XMLCALL *XML_StartNamespaceDeclHandler) (
- void *userData,
- const XML_Char *prefix,
- const XML_Char *uri);
-
-typedef void (XMLCALL *XML_EndNamespaceDeclHandler) (
- void *userData,
- const XML_Char *prefix);
-
-/* This is called if the document is not standalone, that is, it has an
- external subset or a reference to a parameter entity, but does not
- have standalone="yes". If this handler returns XML_STATUS_ERROR,
- then processing will not continue, and the parser will return a
- XML_ERROR_NOT_STANDALONE error.
- If parameter entity parsing is enabled, then in addition to the
- conditions above this handler will only be called if the referenced
- entity was actually read.
-*/
-typedef int (XMLCALL *XML_NotStandaloneHandler) (void *userData);
-
-/* This is called for a reference to an external parsed general
- entity. The referenced entity is not automatically parsed. The
- application can parse it immediately or later using
- XML_ExternalEntityParserCreate.
-
- The parser argument is the parser parsing the entity containing the
- reference; it can be passed as the parser argument to
- XML_ExternalEntityParserCreate. The systemId argument is the
- system identifier as specified in the entity declaration; it will
- not be NULL.
-
- The base argument is the system identifier that should be used as
- the base for resolving systemId if systemId was relative; this is
- set by XML_SetBase; it may be NULL.
-
- The publicId argument is the public identifier as specified in the
- entity declaration, or NULL if none was specified; the whitespace
- in the public identifier will have been normalized as required by
- the XML spec.
-
- The context argument specifies the parsing context in the format
- expected by the context argument to XML_ExternalEntityParserCreate;
- context is valid only until the handler returns, so if the
- referenced entity is to be parsed later, it must be copied.
- context is NULL only when the entity is a parameter entity.
-
- The handler should return XML_STATUS_ERROR if processing should not
- continue because of a fatal error in the handling of the external
- entity. In this case the calling parser will return an
- XML_ERROR_EXTERNAL_ENTITY_HANDLING error.
-
- Note that unlike other handlers the first argument is the parser,
- not userData.
-*/
-typedef int (XMLCALL *XML_ExternalEntityRefHandler) (
- XML_Parser parser,
- const XML_Char *context,
- const XML_Char *base,
- const XML_Char *systemId,
- const XML_Char *publicId);
-
-/* This is called in two situations:
- 1) An entity reference is encountered for which no declaration
- has been read *and* this is not an error.
- 2) An internal entity reference is read, but not expanded, because
- XML_SetDefaultHandler has been called.
- Note: skipped parameter entities in declarations and skipped general
- entities in attribute values cannot be reported, because
- the event would be out of sync with the reporting of the
- declarations or attribute values
-*/
-typedef void (XMLCALL *XML_SkippedEntityHandler) (
- void *userData,
- const XML_Char *entityName,
- int is_parameter_entity);
-
-/* This structure is filled in by the XML_UnknownEncodingHandler to
- provide information to the parser about encodings that are unknown
- to the parser.
-
- The map[b] member gives information about byte sequences whose
- first byte is b.
-
- If map[b] is c where c is >= 0, then b by itself encodes the
- Unicode scalar value c.
-
- If map[b] is -1, then the byte sequence is malformed.
-
- If map[b] is -n, where n >= 2, then b is the first byte of an
- n-byte sequence that encodes a single Unicode scalar value.
-
- The data member will be passed as the first argument to the convert
- function.
-
- The convert function is used to convert multibyte sequences; s will
- point to a n-byte sequence where map[(unsigned char)*s] == -n. The
- convert function must return the Unicode scalar value represented
- by this byte sequence or -1 if the byte sequence is malformed.
-
- The convert function may be NULL if the encoding is a single-byte
- encoding, that is if map[b] >= -1 for all bytes b.
-
- When the parser is finished with the encoding, then if release is
- not NULL, it will call release passing it the data member; once
- release has been called, the convert function will not be called
- again.
-
- Expat places certain restrictions on the encodings that are supported
- using this mechanism.
-
- 1. Every ASCII character that can appear in a well-formed XML document,
- other than the characters
-
- $@\^`{}~
-
- must be represented by a single byte, and that byte must be the
- same byte that represents that character in ASCII.
-
- 2. No character may require more than 4 bytes to encode.
-
- 3. All characters encoded must have Unicode scalar values <=
- 0xFFFF, (i.e., characters that would be encoded by surrogates in
- UTF-16 are not allowed). Note that this restriction doesn't
- apply to the built-in support for UTF-8 and UTF-16.
-
- 4. No Unicode character may be encoded by more than one distinct
- sequence of bytes.
-*/
-typedef struct {
- int map[256];
- void *data;
- int (XMLCALL *convert)(void *data, const char *s);
- void (XMLCALL *release)(void *data);
-} XML_Encoding;
-
-/* This is called for an encoding that is unknown to the parser.
-
- The encodingHandlerData argument is that which was passed as the
- second argument to XML_SetUnknownEncodingHandler.
-
- The name argument gives the name of the encoding as specified in
- the encoding declaration.
-
- If the callback can provide information about the encoding, it must
- fill in the XML_Encoding structure, and return XML_STATUS_OK.
- Otherwise it must return XML_STATUS_ERROR.
-
- If info does not describe a suitable encoding, then the parser will
- return an XML_UNKNOWN_ENCODING error.
-*/
-typedef int (XMLCALL *XML_UnknownEncodingHandler) (
- void *encodingHandlerData,
- const XML_Char *name,
- XML_Encoding *info);
-
-XMLPARSEAPI(void)
-XML_SetElementHandler(XML_Parser parser,
- XML_StartElementHandler start,
- XML_EndElementHandler end);
-
-XMLPARSEAPI(void)
-XML_SetStartElementHandler(XML_Parser, XML_StartElementHandler);
-
-XMLPARSEAPI(void)
-XML_SetEndElementHandler(XML_Parser, XML_EndElementHandler);
-
-XMLPARSEAPI(void)
-XML_SetCharacterDataHandler(XML_Parser parser,
- XML_CharacterDataHandler handler);
-
-XMLPARSEAPI(void)
-XML_SetProcessingInstructionHandler(XML_Parser parser,
- XML_ProcessingInstructionHandler handler);
-XMLPARSEAPI(void)
-XML_SetCommentHandler(XML_Parser parser,
- XML_CommentHandler handler);
-
-XMLPARSEAPI(void)
-XML_SetCdataSectionHandler(XML_Parser parser,
- XML_StartCdataSectionHandler start,
- XML_EndCdataSectionHandler end);
-
-XMLPARSEAPI(void)
-XML_SetStartCdataSectionHandler(XML_Parser parser,
- XML_StartCdataSectionHandler start);
-
-XMLPARSEAPI(void)
-XML_SetEndCdataSectionHandler(XML_Parser parser,
- XML_EndCdataSectionHandler end);
-
-/* This sets the default handler and also inhibits expansion of
- internal entities. These entity references will be passed to the
- default handler, or to the skipped entity handler, if one is set.
-*/
-XMLPARSEAPI(void)
-XML_SetDefaultHandler(XML_Parser parser,
- XML_DefaultHandler handler);
-
-/* This sets the default handler but does not inhibit expansion of
- internal entities. The entity reference will not be passed to the
- default handler.
-*/
-XMLPARSEAPI(void)
-XML_SetDefaultHandlerExpand(XML_Parser parser,
- XML_DefaultHandler handler);
-
-XMLPARSEAPI(void)
-XML_SetDoctypeDeclHandler(XML_Parser parser,
- XML_StartDoctypeDeclHandler start,
- XML_EndDoctypeDeclHandler end);
-
-XMLPARSEAPI(void)
-XML_SetStartDoctypeDeclHandler(XML_Parser parser,
- XML_StartDoctypeDeclHandler start);
-
-XMLPARSEAPI(void)
-XML_SetEndDoctypeDeclHandler(XML_Parser parser,
- XML_EndDoctypeDeclHandler end);
-
-XMLPARSEAPI(void)
-XML_SetUnparsedEntityDeclHandler(XML_Parser parser,
- XML_UnparsedEntityDeclHandler handler);
-
-XMLPARSEAPI(void)
-XML_SetNotationDeclHandler(XML_Parser parser,
- XML_NotationDeclHandler handler);
-
-XMLPARSEAPI(void)
-XML_SetNamespaceDeclHandler(XML_Parser parser,
- XML_StartNamespaceDeclHandler start,
- XML_EndNamespaceDeclHandler end);
-
-XMLPARSEAPI(void)
-XML_SetStartNamespaceDeclHandler(XML_Parser parser,
- XML_StartNamespaceDeclHandler start);
-
-XMLPARSEAPI(void)
-XML_SetEndNamespaceDeclHandler(XML_Parser parser,
- XML_EndNamespaceDeclHandler end);
-
-XMLPARSEAPI(void)
-XML_SetNotStandaloneHandler(XML_Parser parser,
- XML_NotStandaloneHandler handler);
-
-XMLPARSEAPI(void)
-XML_SetExternalEntityRefHandler(XML_Parser parser,
- XML_ExternalEntityRefHandler handler);
-
-/* If a non-NULL value for arg is specified here, then it will be
- passed as the first argument to the external entity ref handler
- instead of the parser object.
-*/
-XMLPARSEAPI(void)
-XML_SetExternalEntityRefHandlerArg(XML_Parser, void *arg);
-
-XMLPARSEAPI(void)
-XML_SetSkippedEntityHandler(XML_Parser parser,
- XML_SkippedEntityHandler handler);
-
-XMLPARSEAPI(void)
-XML_SetUnknownEncodingHandler(XML_Parser parser,
- XML_UnknownEncodingHandler handler,
- void *encodingHandlerData);
-
-/* This can be called within a handler for a start element, end
- element, processing instruction or character data. It causes the
- corresponding markup to be passed to the default handler.
-*/
-XMLPARSEAPI(void)
-XML_DefaultCurrent(XML_Parser parser);
-
-/* If do_nst is non-zero, and namespace processing is in effect, and
- a name has a prefix (i.e. an explicit namespace qualifier) then
- that name is returned as a triplet in a single string separated by
- the separator character specified when the parser was created: URI
- + sep + local_name + sep + prefix.
-
- If do_nst is zero, then namespace information is returned in the
- default manner (URI + sep + local_name) whether or not the name
- has a prefix.
-
- Note: Calling XML_SetReturnNSTriplet after XML_Parse or
- XML_ParseBuffer has no effect.
-*/
-
-XMLPARSEAPI(void)
-XML_SetReturnNSTriplet(XML_Parser parser, int do_nst);
-
-/* This value is passed as the userData argument to callbacks. */
-XMLPARSEAPI(void)
-XML_SetUserData(XML_Parser parser, void *userData);
-
-/* Returns the last value set by XML_SetUserData or NULL. */
-#define XML_GetUserData(parser) (*(void **)(parser))
-
-/* This is equivalent to supplying an encoding argument to
- XML_ParserCreate. On success XML_SetEncoding returns non-zero,
- zero otherwise.
- Note: Calling XML_SetEncoding after XML_Parse or XML_ParseBuffer
- has no effect and returns XML_STATUS_ERROR.
-*/
-XMLPARSEAPI(enum XML_Status)
-XML_SetEncoding(XML_Parser parser, const XML_Char *encoding);
-
-/* If this function is called, then the parser will be passed as the
- first argument to callbacks instead of userData. The userData will
- still be accessible using XML_GetUserData.
-*/
-XMLPARSEAPI(void)
-XML_UseParserAsHandlerArg(XML_Parser parser);
-
-/* If useDTD == XML_TRUE is passed to this function, then the parser
- will assume that there is an external subset, even if none is
- specified in the document. In such a case the parser will call the
- externalEntityRefHandler with a value of NULL for the systemId
- argument (the publicId and context arguments will be NULL as well).
- Note: If this function is called, then this must be done before
- the first call to XML_Parse or XML_ParseBuffer, since it will
- have no effect after that. Returns
- XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING.
- Note: If the document does not have a DOCTYPE declaration at all,
- then startDoctypeDeclHandler and endDoctypeDeclHandler will not
- be called, despite an external subset being parsed.
- Note: If XML_DTD is not defined when Expat is compiled, returns
- XML_ERROR_FEATURE_REQUIRES_XML_DTD.
-*/
-XMLPARSEAPI(enum XML_Error)
-XML_UseForeignDTD(XML_Parser parser, XML_Bool useDTD);
-
-
-/* Sets the base to be used for resolving relative URIs in system
- identifiers in declarations. Resolving relative identifiers is
- left to the application: this value will be passed through as the
- base argument to the XML_ExternalEntityRefHandler,
- XML_NotationDeclHandler and XML_UnparsedEntityDeclHandler. The base
- argument will be copied. Returns XML_STATUS_ERROR if out of memory,
- XML_STATUS_OK otherwise.
-*/
-XMLPARSEAPI(enum XML_Status)
-XML_SetBase(XML_Parser parser, const XML_Char *base);
-
-XMLPARSEAPI(const XML_Char *)
-XML_GetBase(XML_Parser parser);
-
-/* Returns the number of the attribute/value pairs passed in last call
- to the XML_StartElementHandler that were specified in the start-tag
- rather than defaulted. Each attribute/value pair counts as 2; thus
- this correspondds to an index into the atts array passed to the
- XML_StartElementHandler.
-*/
-XMLPARSEAPI(int)
-XML_GetSpecifiedAttributeCount(XML_Parser parser);
-
-/* Returns the index of the ID attribute passed in the last call to
- XML_StartElementHandler, or -1 if there is no ID attribute. Each
- attribute/value pair counts as 2; thus this correspondds to an
- index into the atts array passed to the XML_StartElementHandler.
-*/
-XMLPARSEAPI(int)
-XML_GetIdAttributeIndex(XML_Parser parser);
-
-/* Parses some input. Returns XML_STATUS_ERROR if a fatal error is
- detected. The last call to XML_Parse must have isFinal true; len
- may be zero for this call (or any other).
-
- Though the return values for these functions has always been
- described as a Boolean value, the implementation, at least for the
- 1.95.x series, has always returned exactly one of the XML_Status
- values.
-*/
-XMLPARSEAPI(enum XML_Status)
-XML_Parse(XML_Parser parser, const char *s, int len, int isFinal);
-
-XMLPARSEAPI(void *)
-XML_GetBuffer(XML_Parser parser, int len);
-
-XMLPARSEAPI(enum XML_Status)
-XML_ParseBuffer(XML_Parser parser, int len, int isFinal);
-
-/* Creates an XML_Parser object that can parse an external general
- entity; context is a '\0'-terminated string specifying the parse
- context; encoding is a '\0'-terminated string giving the name of
- the externally specified encoding, or NULL if there is no
- externally specified encoding. The context string consists of a
- sequence of tokens separated by formfeeds (\f); a token consisting
- of a name specifies that the general entity of the name is open; a
- token of the form prefix=uri specifies the namespace for a
- particular prefix; a token of the form =uri specifies the default
- namespace. This can be called at any point after the first call to
- an ExternalEntityRefHandler so longer as the parser has not yet
- been freed. The new parser is completely independent and may
- safely be used in a separate thread. The handlers and userData are
- initialized from the parser argument. Returns NULL if out of memory.
- Otherwise returns a new XML_Parser object.
-*/
-XMLPARSEAPI(XML_Parser)
-XML_ExternalEntityParserCreate(XML_Parser parser,
- const XML_Char *context,
- const XML_Char *encoding);
-
-enum XML_ParamEntityParsing {
- XML_PARAM_ENTITY_PARSING_NEVER,
- XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE,
- XML_PARAM_ENTITY_PARSING_ALWAYS
-};
-
-/* Controls parsing of parameter entities (including the external DTD
- subset). If parsing of parameter entities is enabled, then
- references to external parameter entities (including the external
- DTD subset) will be passed to the handler set with
- XML_SetExternalEntityRefHandler. The context passed will be 0.
-
- Unlike external general entities, external parameter entities can
- only be parsed synchronously. If the external parameter entity is
- to be parsed, it must be parsed during the call to the external
- entity ref handler: the complete sequence of
- XML_ExternalEntityParserCreate, XML_Parse/XML_ParseBuffer and
- XML_ParserFree calls must be made during this call. After
- XML_ExternalEntityParserCreate has been called to create the parser
- for the external parameter entity (context must be 0 for this
- call), it is illegal to make any calls on the old parser until
- XML_ParserFree has been called on the newly created parser.
- If the library has been compiled without support for parameter
- entity parsing (ie without XML_DTD being defined), then
- XML_SetParamEntityParsing will return 0 if parsing of parameter
- entities is requested; otherwise it will return non-zero.
- Note: If XML_SetParamEntityParsing is called after XML_Parse or
- XML_ParseBuffer, then it has no effect and will always return 0.
-*/
-XMLPARSEAPI(int)
-XML_SetParamEntityParsing(XML_Parser parser,
- enum XML_ParamEntityParsing parsing);
-
-/* If XML_Parse or XML_ParseBuffer have returned XML_STATUS_ERROR, then
- XML_GetErrorCode returns information about the error.
-*/
-XMLPARSEAPI(enum XML_Error)
-XML_GetErrorCode(XML_Parser parser);
-
-/* These functions return information about the current parse
- location. They may be called from any callback called to report
- some parse event; in this case the location is the location of the
- first of the sequence of characters that generated the event. When
- called from callbacks generated by declarations in the document
- prologue, the location identified isn't as neatly defined, but will
- be within the relevant markup. When called outside of the callback
- functions, the position indicated will be just past the last parse
- event (regardless of whether there was an associated callback).
-
- They may also be called after returning from a call to XML_Parse
- or XML_ParseBuffer. If the return value is XML_STATUS_ERROR then
- the location is the location of the character at which the error
- was detected; otherwise the location is the location of the last
- parse event, as described above.
-*/
-XMLPARSEAPI(int) XML_GetCurrentLineNumber(XML_Parser parser);
-XMLPARSEAPI(int) XML_GetCurrentColumnNumber(XML_Parser parser);
-XMLPARSEAPI(long) XML_GetCurrentByteIndex(XML_Parser parser);
-
-/* Return the number of bytes in the current event.
- Returns 0 if the event is in an internal entity.
-*/
-XMLPARSEAPI(int)
-XML_GetCurrentByteCount(XML_Parser parser);
-
-/* If XML_CONTEXT_BYTES is defined, returns the input buffer, sets
- the integer pointed to by offset to the offset within this buffer
- of the current parse position, and sets the integer pointed to by size
- to the size of this buffer (the number of input bytes). Otherwise
- returns a NULL pointer. Also returns a NULL pointer if a parse isn't
- active.
-
- NOTE: The character pointer returned should not be used outside
- the handler that makes the call.
-*/
-XMLPARSEAPI(const char *)
-XML_GetInputContext(XML_Parser parser,
- int *offset,
- int *size);
-
-/* For backwards compatibility with previous versions. */
-#define XML_GetErrorLineNumber XML_GetCurrentLineNumber
-#define XML_GetErrorColumnNumber XML_GetCurrentColumnNumber
-#define XML_GetErrorByteIndex XML_GetCurrentByteIndex
-
-/* Frees the content model passed to the element declaration handler */
-XMLPARSEAPI(void)
-XML_FreeContentModel(XML_Parser parser, XML_Content *model);
-
-/* Exposing the memory handling functions used in Expat */
-XMLPARSEAPI(void *)
-XML_MemMalloc(XML_Parser parser, size_t size);
-
-XMLPARSEAPI(void *)
-XML_MemRealloc(XML_Parser parser, void *ptr, size_t size);
-
-XMLPARSEAPI(void)
-XML_MemFree(XML_Parser parser, void *ptr);
-
-/* Frees memory used by the parser. */
-XMLPARSEAPI(void)
-XML_ParserFree(XML_Parser parser);
-
-/* Returns a string describing the error. */
-XMLPARSEAPI(const XML_LChar *)
-XML_ErrorString(enum XML_Error code);
-
-/* Return a string containing the version number of this expat */
-XMLPARSEAPI(const XML_LChar *)
-XML_ExpatVersion(void);
-
-typedef struct {
- int major;
- int minor;
- int micro;
-} XML_Expat_Version;
-
-/* Return an XML_Expat_Version structure containing numeric version
- number information for this version of expat.
-*/
-XMLPARSEAPI(XML_Expat_Version)
-XML_ExpatVersionInfo(void);
-
-/* Added in Expat 1.95.5. */
-enum XML_FeatureEnum {
- XML_FEATURE_END = 0,
- XML_FEATURE_UNICODE,
- XML_FEATURE_UNICODE_WCHAR_T,
- XML_FEATURE_DTD,
- XML_FEATURE_CONTEXT_BYTES,
- XML_FEATURE_MIN_SIZE,
- XML_FEATURE_SIZEOF_XML_CHAR,
- XML_FEATURE_SIZEOF_XML_LCHAR
- /* Additional features must be added to the end of this enum. */
-};
-
-typedef struct {
- enum XML_FeatureEnum feature;
- const XML_LChar *name;
- long int value;
-} XML_Feature;
-
-XMLPARSEAPI(const XML_Feature *)
-XML_GetFeatureList(void);
-
-
-/* Expat follows the GNU/Linux convention of odd number minor version for
- beta/development releases and even number minor version for stable
- releases. Micro is bumped with each release, and set to 0 with each
- change to major or minor version.
-*/
-#define XML_MAJOR_VERSION 1
-#define XML_MINOR_VERSION 95
-#define XML_MICRO_VERSION 7
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* not XmlParse_INCLUDED */
diff --git a/rubbos/app/apache2/include/fdqueue.h b/rubbos/app/apache2/include/fdqueue.h
deleted file mode 100644
index 6dd55e03..00000000
--- a/rubbos/app/apache2/include/fdqueue.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* 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 FDQUEUE_H
-#define FDQUEUE_H
-#include "httpd.h"
-#include <stdlib.h>
-#if APR_HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <apr_thread_mutex.h>
-#include <apr_thread_cond.h>
-#include <sys/types.h>
-#if APR_HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#include <apr_errno.h>
-
-typedef struct fd_queue_info_t fd_queue_info_t;
-
-apr_status_t ap_queue_info_create(fd_queue_info_t **queue_info,
- apr_pool_t *pool, int max_idlers);
-apr_status_t ap_queue_info_set_idle(fd_queue_info_t *queue_info,
- apr_pool_t *pool_to_recycle);
-apr_status_t ap_queue_info_wait_for_idler(fd_queue_info_t *queue_info,
- apr_pool_t **recycled_pool);
-apr_status_t ap_queue_info_term(fd_queue_info_t *queue_info);
-
-struct fd_queue_elem_t {
- apr_socket_t *sd;
- apr_pool_t *p;
-};
-typedef struct fd_queue_elem_t fd_queue_elem_t;
-
-struct fd_queue_t {
- fd_queue_elem_t *data;
- int nelts;
- int bounds;
- apr_thread_mutex_t *one_big_mutex;
- apr_thread_cond_t *not_empty;
- int terminated;
-};
-typedef struct fd_queue_t fd_queue_t;
-
-apr_status_t ap_queue_init(fd_queue_t *queue, int queue_capacity, apr_pool_t *a);
-apr_status_t ap_queue_push(fd_queue_t *queue, apr_socket_t *sd, apr_pool_t *p);
-apr_status_t ap_queue_pop(fd_queue_t *queue, apr_socket_t **sd, apr_pool_t **p);
-apr_status_t ap_queue_interrupt_all(fd_queue_t *queue);
-apr_status_t ap_queue_term(fd_queue_t *queue);
-
-#endif /* FDQUEUE_H */
diff --git a/rubbos/app/apache2/include/http_config.h b/rubbos/app/apache2/include/http_config.h
deleted file mode 100644
index 783e44b4..00000000
--- a/rubbos/app/apache2/include/http_config.h
+++ /dev/null
@@ -1,1018 +0,0 @@
-/* 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 APACHE_HTTP_CONFIG_H
-#define APACHE_HTTP_CONFIG_H
-
-#include "apr_hooks.h"
-#include "util_cfgtree.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @file http_config.h
- * @brief Apache Configuration
- */
-
-/*
- * The central data structures around here...
- */
-
-/* Command dispatch structures... */
-
-/**
- * How the directives arguments should be parsed.
- * @remark Note that for all of these except RAW_ARGS, the config routine is
- * passed a freshly allocated string which can be modified or stored
- * or whatever...
- */
-enum cmd_how {
- RAW_ARGS, /**< cmd_func parses command line itself */
- TAKE1, /**< one argument only */
- TAKE2, /**< two arguments only */
- ITERATE, /**< one argument, occuring multiple times
- * (e.g., IndexIgnore)
- */
- ITERATE2, /**< two arguments, 2nd occurs multiple times
- * (e.g., AddIcon)
- */
- FLAG, /**< One of 'On' or 'Off' */
- NO_ARGS, /**< No args at all, e.g. </Directory> */
- TAKE12, /**< one or two arguments */
- TAKE3, /**< three arguments only */
- TAKE23, /**< two or three arguments */
- TAKE123, /**< one, two or three arguments */
- TAKE13 /**< one or three arguments */
-};
-/**
- * This structure is passed to a command which is being invoked,
- * to carry a large variety of miscellaneous data which is all of
- * use to *somebody*...
- */
-typedef struct cmd_parms_struct cmd_parms;
-
-#if defined(AP_HAVE_DESIGNATED_INITIALIZER) || defined(DOXYGEN)
-
-/**
- * All the types of functions that can be used in directives
- * @internal
- */
-typedef union {
- /** function to call for a no-args */
- const char *(*no_args) (cmd_parms *parms, void *mconfig);
- /** function to call for a raw-args */
- const char *(*raw_args) (cmd_parms *parms, void *mconfig,
- const char *args);
- /** function to call for a take1 */
- const char *(*take1) (cmd_parms *parms, void *mconfig, const char *w);
- /** function to call for a take2 */
- const char *(*take2) (cmd_parms *parms, void *mconfig, const char *w,
- const char *w2);
- /** function to call for a take3 */
- const char *(*take3) (cmd_parms *parms, void *mconfig, const char *w,
- const char *w2, const char *w3);
- /** function to call for a flag */
- const char *(*flag) (cmd_parms *parms, void *mconfig, int on);
-} cmd_func;
-
-/** This configuration directive does not take any arguments */
-# define AP_NO_ARGS func.no_args
-/** This configuration directive will handle it's own parsing of arguments*/
-# define AP_RAW_ARGS func.raw_args
-/** This configuration directive takes 1 argument*/
-# define AP_TAKE1 func.take1
-/** This configuration directive takes 2 arguments */
-# define AP_TAKE2 func.take2
-/** This configuration directive takes 3 arguments */
-# define AP_TAKE3 func.take3
-/** This configuration directive takes a flag (on/off) as a argument*/
-# define AP_FLAG func.flag
-
-/** method of declaring a directive with no arguments */
-# define AP_INIT_NO_ARGS(directive, func, mconfig, where, help) \
- { directive, { .no_args=func }, mconfig, where, RAW_ARGS, help }
-/** method of declaring a directive with raw argument parsing */
-# define AP_INIT_RAW_ARGS(directive, func, mconfig, where, help) \
- { directive, { .raw_args=func }, mconfig, where, RAW_ARGS, help }
-/** method of declaring a directive which takes 1 argument */
-# define AP_INIT_TAKE1(directive, func, mconfig, where, help) \
- { directive, { .take1=func }, mconfig, where, TAKE1, help }
-/** method of declaring a directive which takes multiple arguments */
-# define AP_INIT_ITERATE(directive, func, mconfig, where, help) \
- { directive, { .take1=func }, mconfig, where, ITERATE, help }
-/** method of declaring a directive which takes 2 arguments */
-# define AP_INIT_TAKE2(directive, func, mconfig, where, help) \
- { directive, { .take2=func }, mconfig, where, TAKE2, help }
-/** method of declaring a directive which takes 1 or 2 arguments */
-# define AP_INIT_TAKE12(directive, func, mconfig, where, help) \
- { directive, { .take2=func }, mconfig, where, TAKE12, help }
-/** method of declaring a directive which takes multiple 2 arguments */
-# define AP_INIT_ITERATE2(directive, func, mconfig, where, help) \
- { directive, { .take2=func }, mconfig, where, ITERATE2, help }
-/** method of declaring a directive which takes 1 or 3 arguments */
-# define AP_INIT_TAKE13(directive, func, mconfig, where, help) \
- { directive, { .take3=func }, mconfig, where, TAKE13, help }
-/** method of declaring a directive which takes 2 or 3 arguments */
-# define AP_INIT_TAKE23(directive, func, mconfig, where, help) \
- { directive, { .take3=func }, mconfig, where, TAKE23, help }
-/** method of declaring a directive which takes 1 to 3 arguments */
-# define AP_INIT_TAKE123(directive, func, mconfig, where, help) \
- { directive, { .take3=func }, mconfig, where, TAKE123, help }
-/** method of declaring a directive which takes 3 arguments */
-# define AP_INIT_TAKE3(directive, func, mconfig, where, help) \
- { directive, { .take3=func }, mconfig, where, TAKE3, help }
-/** method of declaring a directive which takes a flag (on/off) as a argument*/
-# define AP_INIT_FLAG(directive, func, mconfig, where, help) \
- { directive, { .flag=func }, mconfig, where, FLAG, help }
-
-#else /* AP_HAVE_DESIGNATED_INITIALIZER */
-
-typedef const char *(*cmd_func) ();
-
-# define AP_NO_ARGS func
-# define AP_RAW_ARGS func
-# define AP_TAKE1 func
-# define AP_TAKE2 func
-# define AP_TAKE3 func
-# define AP_FLAG func
-
-# define AP_INIT_NO_ARGS(directive, func, mconfig, where, help) \
- { directive, func, mconfig, where, RAW_ARGS, help }
-# define AP_INIT_RAW_ARGS(directive, func, mconfig, where, help) \
- { directive, func, mconfig, where, RAW_ARGS, help }
-# define AP_INIT_TAKE1(directive, func, mconfig, where, help) \
- { directive, func, mconfig, where, TAKE1, help }
-# define AP_INIT_ITERATE(directive, func, mconfig, where, help) \
- { directive, func, mconfig, where, ITERATE, help }
-# define AP_INIT_TAKE2(directive, func, mconfig, where, help) \
- { directive, func, mconfig, where, TAKE2, help }
-# define AP_INIT_TAKE12(directive, func, mconfig, where, help) \
- { directive, func, mconfig, where, TAKE12, help }
-# define AP_INIT_ITERATE2(directive, func, mconfig, where, help) \
- { directive, func, mconfig, where, ITERATE2, help }
-# define AP_INIT_TAKE13(directive, func, mconfig, where, help) \
- { directive, func, mconfig, where, TAKE13, help }
-# define AP_INIT_TAKE23(directive, func, mconfig, where, help) \
- { directive, func, mconfig, where, TAKE23, help }
-# define AP_INIT_TAKE123(directive, func, mconfig, where, help) \
- { directive, func, mconfig, where, TAKE123, help }
-# define AP_INIT_TAKE3(directive, func, mconfig, where, help) \
- { directive, func, mconfig, where, TAKE3, help }
-# define AP_INIT_FLAG(directive, func, mconfig, where, help) \
- { directive, func, mconfig, where, FLAG, help }
-
-#endif /* AP_HAVE_DESIGNATED_INITIALIZER */
-
-/**
- * The command record structure. Each modules can define a table of these
- * to define the directives it will implement.
- */
-typedef struct command_struct command_rec;
-struct command_struct {
- /** Name of this command */
- const char *name;
- /** The function to be called when this directive is parsed */
- cmd_func func;
- /** Extra data, for functions which implement multiple commands... */
- void *cmd_data;
- /** What overrides need to be allowed to enable this command. */
- int req_override;
- /** What the command expects as arguments
- * @defvar cmd_how args_how*/
- enum cmd_how args_how;
-
- /** 'usage' message, in case of syntax errors */
- const char *errmsg;
-};
-
-/**
- * @defgroup ConfigDirectives Allowed locations for configuration directives.
- *
- * The allowed locations for a configuration directive are the union of
- * those indicated by each set bit in the req_override mask.
- *
- * @{
- */
-#define OR_NONE 0 /**< *.conf is not available anywhere in this override */
-#define OR_LIMIT 1 /**< *.conf inside <Directory> or <Location>
- and .htaccess when AllowOverride Limit */
-#define OR_OPTIONS 2 /**< *.conf anywhere
- and .htaccess when AllowOverride Options */
-#define OR_FILEINFO 4 /**< *.conf anywhere
- and .htaccess when AllowOverride FileInfo */
-#define OR_AUTHCFG 8 /**< *.conf inside <Directory> or <Location>
- and .htaccess when AllowOverride AuthConfig */
-#define OR_INDEXES 16 /**< *.conf anywhere
- and .htaccess when AllowOverride Indexes */
-#define OR_UNSET 32 /**< unset a directive (in Allow) */
-#define ACCESS_CONF 64 /**< *.conf inside <Directory> or <Location> */
-#define RSRC_CONF 128 /**< *.conf outside <Directory> or <Location> */
-#define EXEC_ON_READ 256 /**< force directive to execute a command
- which would modify the configuration (like including another
- file, or IFModule */
-/** this directive can be placed anywhere */
-#define OR_ALL (OR_LIMIT|OR_OPTIONS|OR_FILEINFO|OR_AUTHCFG|OR_INDEXES)
-
-/** @} */
-
-/**
- * This can be returned by a function if they don't wish to handle
- * a command. Make it something not likely someone will actually use
- * as an error code.
- */
-#define DECLINE_CMD "\a\b"
-
-/** Common structure for reading of config files / passwd files etc. */
-typedef struct ap_configfile_t ap_configfile_t;
-struct ap_configfile_t {
- int (*getch) (void *param); /**< a getc()-like function */
- void *(*getstr) (void *buf, size_t bufsiz, void *param);
- /**< a fgets()-like function */
- int (*close) (void *param); /**< a close handler function */
- void *param; /**< the argument passed to getch/getstr/close */
- const char *name; /**< the filename / description */
- unsigned line_number; /**< current line number, starting at 1 */
-};
-
-/**
- * This structure is passed to a command which is being invoked,
- * to carry a large variety of miscellaneous data which is all of
- * use to *somebody*...
- */
-struct cmd_parms_struct {
- /** Argument to command from cmd_table */
- void *info;
- /** Which allow-override bits are set */
- int override;
- /** Which methods are <Limit>ed */
- apr_int64_t limited;
- /** methods which are limited */
- apr_array_header_t *limited_xmethods;
- /** methods which are xlimited */
- ap_method_list_t *xlimited;
-
- /** Config file structure. */
- ap_configfile_t *config_file;
- /** the directive specifying this command */
- ap_directive_t *directive;
-
- /** Pool to allocate new storage in */
- apr_pool_t *pool;
- /** Pool for scratch memory; persists during configuration, but
- * wiped before the first request is served... */
- apr_pool_t *temp_pool;
- /** Server_rec being configured for */
- server_rec *server;
- /** If configuring for a directory, pathname of that directory.
- * NOPE! That's what it meant previous to the existance of <Files>,
- * <Location> and regex matching. Now the only usefulness that can be
- * derived from this field is whether a command is being called in a
- * server context (path == NULL) or being called in a dir context
- * (path != NULL). */
- char *path;
- /** configuration command */
- const command_rec *cmd;
-
- /** per_dir_config vector passed to handle_command */
- struct ap_conf_vector_t *context;
- /** directive with syntax error */
- const ap_directive_t *err_directive;
-};
-
-/**
- * Module structures. Just about everything is dispatched through
- * these, directly or indirectly (through the command and handler
- * tables).
- */
-typedef struct module_struct module;
-struct module_struct {
- /** API version, *not* module version; check that module is
- * compatible with this version of the server.
- */
- int version;
- /** API minor version. Provides API feature milestones. Not checked
- * during module init */
- int minor_version;
- /** Index to this modules structures in config vectors. */
- int module_index;
-
- /** The name of the module's C file */
- const char *name;
- /** The handle for the DSO. Internal use only */
- void *dynamic_load_handle;
-
- /** A pointer to the next module in the list
- * @defvar module_struct *next */
- struct module_struct *next;
-
- /** Magic Cookie to identify a module structure; It's mainly
- * important for the DSO facility (see also mod_so). */
- unsigned long magic;
-
- /** Function to allow MPMs to re-write command line arguments. This
- * hook is only available to MPMs.
- * @param The process that the server is running in.
- */
- void (*rewrite_args) (process_rec *process);
- /** Function to allow all modules to create per directory configuration
- * structures.
- * @param p The pool to use for all allocations.
- * @param dir The directory currently being processed.
- * @return The per-directory structure created
- */
- void *(*create_dir_config) (apr_pool_t *p, char *dir);
- /** Function to allow all modules to merge the per directory configuration
- * structures for two directories.
- * @param p The pool to use for all allocations.
- * @param base_conf The directory structure created for the parent directory.
- * @param new_conf The directory structure currently being processed.
- * @return The new per-directory structure created
- */
- void *(*merge_dir_config) (apr_pool_t *p, void *base_conf, void *new_conf);
- /** Function to allow all modules to create per server configuration
- * structures.
- * @param p The pool to use for all allocations.
- * @param s The server currently being processed.
- * @return The per-server structure created
- */
- void *(*create_server_config) (apr_pool_t *p, server_rec *s);
- /** Function to allow all modules to merge the per server configuration
- * structures for two servers.
- * @param p The pool to use for all allocations.
- * @param base_conf The directory structure created for the parent directory.
- * @param new_conf The directory structure currently being processed.
- * @return The new per-directory structure created
- */
- void *(*merge_server_config) (apr_pool_t *p, void *base_conf,
- void *new_conf);
-
- /** A command_rec table that describes all of the directives this module
- * defines. */
- const command_rec *cmds;
-
- /** A hook to allow modules to hook other points in the request processing.
- * In this function, modules should call the ap_hook_*() functions to
- * register an interest in a specific step in processing the current
- * request.
- * @param p the pool to use for all allocations
- */
- void (*register_hooks) (apr_pool_t *p);
-};
-
-/**
- * @defgroup ModuleInit Module structure initializers
- *
- * Initializer for the first few module slots, which are only
- * really set up once we start running. Note that the first two slots
- * provide a version check; this should allow us to deal with changes to
- * the API. The major number should reflect changes to the API handler table
- * itself or removal of functionality. The minor number should reflect
- * additions of functionality to the existing API. (the server can detect
- * an old-format module, and either handle it back-compatibly, or at least
- * signal an error). See src/include/ap_mmn.h for MMN version history.
- * @{
- */
-
-/** The one used in Apache 1.3, which will deliberately cause an error */
-#define STANDARD_MODULE_STUFF this_module_needs_to_be_ported_to_apache_2_0
-
-/** Use this in all standard modules */
-#define STANDARD20_MODULE_STUFF MODULE_MAGIC_NUMBER_MAJOR, \
- MODULE_MAGIC_NUMBER_MINOR, \
- -1, \
- __FILE__, \
- NULL, \
- NULL, \
- MODULE_MAGIC_COOKIE, \
- NULL /* rewrite args spot */
-
-/** Use this only in MPMs */
-#define MPM20_MODULE_STUFF MODULE_MAGIC_NUMBER_MAJOR, \
- MODULE_MAGIC_NUMBER_MINOR, \
- -1, \
- __FILE__, \
- NULL, \
- NULL, \
- MODULE_MAGIC_COOKIE
-
-/** @} */
-
-/* CONFIGURATION VECTOR FUNCTIONS */
-
-/** configuration vector structure */
-typedef struct ap_conf_vector_t ap_conf_vector_t;
-
-/**
- * Generic accessors for other modules to get at their own module-specific
- * data
- * @param conf_vector The vector in which the modules configuration is stored.
- * usually r->per_dir_config or s->module_config
- * @param m The module to get the data for.
- * @return The module-specific data
- */
-AP_DECLARE(void *) ap_get_module_config(const ap_conf_vector_t *cv,
- const module *m);
-
-/**
- * Generic accessors for other modules to set at their own module-specific
- * data
- * @param conf_vector The vector in which the modules configuration is stored.
- * usually r->per_dir_config or s->module_config
- * @param m The module to set the data for.
- * @param val The module-specific data to set
- */
-AP_DECLARE(void) ap_set_module_config(ap_conf_vector_t *cv, const module *m,
- void *val);
-
-#if !defined(AP_DEBUG)
-
-#define ap_get_module_config(v,m) \
- (((void **)(v))[(m)->module_index])
-#define ap_set_module_config(v,m,val) \
- ((((void **)(v))[(m)->module_index]) = (val))
-
-#endif /* AP_DEBUG */
-
-
-/**
- * Generic command handling function for strings
- * @param cmd The command parameters for this directive
- * @param struct_ptr pointer into a given type
- * @param arg The argument to the directive
- * @return An error string or NULL on success
- */
-AP_DECLARE_NONSTD(const char *) ap_set_string_slot(cmd_parms *cmd,
- void *struct_ptr,
- const char *arg);
-
-/**
- * Generic command handling function for integers
- * @param cmd The command parameters for this directive
- * @param struct_ptr pointer into a given type
- * @param arg The argument to the directive
- * @return An error string or NULL on success
- */
-AP_DECLARE_NONSTD(const char *) ap_set_int_slot(cmd_parms *cmd,
- void *struct_ptr,
- const char *arg);
-
-/**
- * Return true if the specified method is limited by being listed in
- * a <Limit> container, or by *not* being listed in a <LimiteExcept>
- * container.
- *
- * @param method Pointer to a string specifying the method to check.
- * @param cmd Pointer to the cmd_parms structure passed to the
- * directive handler.
- * @return 0 if the method is not limited in the current scope
- */
-AP_DECLARE(int) ap_method_is_limited(cmd_parms *cmd, const char *method);
-
-/**
- * Generic command handling function for strings, always sets the value
- * to a lowercase string
- * @param cmd The command parameters for this directive
- * @param struct_ptr pointer into a given type
- * @param arg The argument to the directive
- * @return An error string or NULL on success
- */
-AP_DECLARE_NONSTD(const char *) ap_set_string_slot_lower(cmd_parms *cmd,
- void *struct_ptr,
- const char *arg);
-/**
- * Generic command handling function for flags
- * @param cmd The command parameters for this directive
- * @param struct_ptr pointer into a given type
- * @param arg The argument to the directive (either 1 or 0)
- * @return An error string or NULL on success
- */
-AP_DECLARE_NONSTD(const char *) ap_set_flag_slot(cmd_parms *cmd,
- void *struct_ptr,
- int arg);
-/**
- * Generic command handling function for files
- * @param cmd The command parameters for this directive
- * @param struct_ptr pointer into a given type
- * @param arg The argument to the directive
- * @return An error string or NULL on success
- */
-AP_DECLARE_NONSTD(const char *) ap_set_file_slot(cmd_parms *cmd,
- void *struct_ptr,
- const char *arg);
-/**
- * Generic command handling function to respond with cmd->help as an error
- * @param cmd The command parameters for this directive
- * @param struct_ptr pointer into a given type
- * @param arg The argument to the directive
- * @return The cmd->help value as the error string
- * @tip This allows simple declarations such as;
- * <pre>
- * AP_INIT_RAW_ARGS("Foo", ap_set_deprecated, NULL, OR_ALL,
- * "The Foo directive is no longer supported, use Bar"),
- * </pre>
- */
-AP_DECLARE_NONSTD(const char *) ap_set_deprecated(cmd_parms *cmd,
- void *struct_ptr,
- const char *arg);
-/**
- * For modules which need to read config files, open logs, etc. this returns
- * the canonical form of fname made absolute to ap_server_root.
- * @param p pool to allocate data from
- * @param fname The file name
- */
-AP_DECLARE(char *) ap_server_root_relative(apr_pool_t *p, const char *fname);
-
-/* Finally, the hook for dynamically loading modules in... */
-
-/**
- * Add a module to the server
- * @param m The module structure of the module to add
- * @param p The pool of the same lifetime as the module
- */
-AP_DECLARE(void) ap_add_module(module *m, apr_pool_t *p);
-
-/**
- * Remove a module from the server. There are some caveats:
- * when the module is removed, its slot is lost so all the current
- * per-dir and per-server configurations are invalid. So we should
- * only ever call this function when you are invalidating almost
- * all our current data. I.e. when doing a restart.
- * @param m the module structure of the module to remove
- */
-AP_DECLARE(void) ap_remove_module(module *m);
-/**
- * Add a module to the chained modules list and the list of loaded modules
- * @param m The module structure of the module to add
- * @param p The pool with the same lifetime as the module
- */
-AP_DECLARE(void) ap_add_loaded_module(module *mod, apr_pool_t *p);
-/**
- * Remove a module fromthe chained modules list and the list of loaded modules
- * @param m the module structure of the module to remove
- */
-AP_DECLARE(void) ap_remove_loaded_module(module *mod);
-/**
- * Add a module to the list of loaded module based on the name of the
- * module
- * @param name The name of the module
- * @param p The pool valid for the lifetime of the module
- * @return 1 on success, 0 on failure
- */
-AP_DECLARE(int) ap_add_named_module(const char *name, apr_pool_t *p);
-/**
- * Find the name of the specified module
- * @param m The module to get the name for
- * @return the name of the module
- */
-AP_DECLARE(const char *) ap_find_module_name(module *m);
-/**
- * Find a module based on the name of the module
- * @param name the name of the module
- * @return the module structure if found, NULL otherwise
- */
-AP_DECLARE(module *) ap_find_linked_module(const char *name);
-
-/**
- * Open a ap_configfile_t as apr_file_t
- * @param ret_cfg open ap_configfile_t struct pointer
- * @param p The pool to allocate the structure from
- * @param name the name of the file to open
- */
-AP_DECLARE(apr_status_t) ap_pcfg_openfile(ap_configfile_t **ret_cfg,
- apr_pool_t *p, const char *name);
-
-/**
- * Allocate a ap_configfile_t handle with user defined functions and params
- * @param p The pool to allocate from
- * @param descr The name of the file
- * @param param The argument passed to getch/getstr/close
- * @param getc_func The getch function
- * @param gets_func The getstr function
- * @param close_func The close function
- */
-AP_DECLARE(ap_configfile_t *) ap_pcfg_open_custom(apr_pool_t *p,
- const char *descr,
- void *param,
- int(*getc_func)(void*),
- void *(*gets_func) (void *buf, size_t bufsiz, void *param),
- int(*close_func)(void *param));
-
-/**
- * Read one line from open ap_configfile_t, strip LF, increase line number
- * @param buf place to store the line read
- * @param bufsize size of the buffer
- * @param cfp File to read from
- * @return 1 on success, 0 on failure
- */
-AP_DECLARE(int) ap_cfg_getline(char *buf, size_t bufsize, ap_configfile_t *cfp);
-
-/**
- * Read one char from open configfile_t, increase line number upon LF
- * @param cfp The file to read from
- * @return the character read
- */
-AP_DECLARE(int) ap_cfg_getc(ap_configfile_t *cfp);
-
-/**
- * Detach from open ap_configfile_t, calling the close handler
- * @param cfp The file to close
- * @return 1 on sucess, 0 on failure
- */
-AP_DECLARE(int) ap_cfg_closefile(ap_configfile_t *cfp);
-
-/**
- * Read all data between the current <foo> and the matching </foo>. All
- * of this data is forgotten immediately.
- * @param cmd The cmd_parms to pass to the directives inside the container
- * @param directive The directive name to read until
- * @return Error string on failure, NULL on success
- */
-AP_DECLARE(const char *) ap_soak_end_container(cmd_parms *cmd, char *directive);
-
-/**
- * Read all data between the current <foo> and the matching </foo> and build
- * a config tree from it
- * @param p pool to allocate from
- * @param temp_pool Temporary pool to allocate from
- * @param parms The cmd_parms to pass to all directives read
- * @param current The current node in the tree
- * @param curr_parent The current parent node
- * @param orig_directive The directive to read until hit.
- * @return Error string on failure, NULL on success
-*/
-AP_DECLARE(const char *) ap_build_cont_config(apr_pool_t *p,
- apr_pool_t *temp_pool,
- cmd_parms *parms,
- ap_directive_t **current,
- ap_directive_t **curr_parent,
- char *orig_directive);
-
-/**
- * Build a config tree from a config file
- * @param parms The cmd_parms to pass to all of the directives in the file
- * @param conf_pool The pconf pool
- * @param temp_pool The temporary pool
- * @param conftree Place to store the root node of the config tree
- * @return Error string on erro, NULL otherwise
- */
-AP_DECLARE(const char *) ap_build_config(cmd_parms *parms,
- apr_pool_t *conf_pool,
- apr_pool_t *temp_pool,
- ap_directive_t **conftree);
-
-/**
- * Walk a config tree and setup the server's internal structures
- * @param conftree The config tree to walk
- * @param parms The cmd_parms to pass to all functions
- * @param section_vector The per-section config vector.
- * @return Error string on error, NULL otherwise
- */
-AP_DECLARE(const char *) ap_walk_config(ap_directive_t *conftree,
- cmd_parms *parms,
- ap_conf_vector_t *section_vector);
-
-/**
- * @defgroup ap_check_cmd_context ap_check_cmd_context
- * @{
- */
-/**
- * Check the context a command is used in.
- * @param cmd The command to check
- * @param forbidden Where the command is forbidden.
- * @return Error string on error, NULL on success
- */
-AP_DECLARE(const char *) ap_check_cmd_context(cmd_parms *cmd,
- unsigned forbidden);
-
-#define NOT_IN_VIRTUALHOST 0x01 /**< Forbidden in <Virtualhost> */
-#define NOT_IN_LIMIT 0x02 /**< Forbidden in <Limit> */
-#define NOT_IN_DIRECTORY 0x04 /**< Forbidden in <Directory> */
-#define NOT_IN_LOCATION 0x08 /**< Forbidden in <Location> */
-#define NOT_IN_FILES 0x10 /**< Forbidden in <Files> */
-/** Forbidden in <Directory>/<Location>/<Files>*/
-#define NOT_IN_DIR_LOC_FILE (NOT_IN_DIRECTORY|NOT_IN_LOCATION|NOT_IN_FILES)
-/** Forbidden in <VirtualHost>/<Limit>/<Directory>/<Location>/<Files> */
-#define GLOBAL_ONLY (NOT_IN_VIRTUALHOST|NOT_IN_LIMIT|NOT_IN_DIR_LOC_FILE)
-
-/** @} */
-
-#ifdef CORE_PRIVATE
-
-/**
- * The topmost module in the list
- * @defvar module *ap_top_module
- */
-AP_DECLARE_DATA extern module *ap_top_module;
-
-/**
- * Array of all statically linked modules
- * @defvar module *ap_prelinked_modules[]
- */
-AP_DECLARE_DATA extern module *ap_prelinked_modules[];
-/**
- * Array of all preloaded modules
- * @defvar module *ap_preloaded_modules[]
- */
-AP_DECLARE_DATA extern module *ap_preloaded_modules[];
-/**
- * Array of all loaded modules
- * @defvar module **ap_loaded_modules
- */
-AP_DECLARE_DATA extern module **ap_loaded_modules;
-
-/* For mod_so.c... */
-/** Run a single module's two create_config hooks
- * @param p the pool to allocate from
- * @param s The server to configure for.
- * @param m The module to configure
- */
-AP_DECLARE(void) ap_single_module_configure(apr_pool_t *p, server_rec *s,
- module *m);
-
-/* For http_main.c... */
-/**
- * Add all of the prelinked modules into the loaded module list
- * @param process The process that is currently running the server
- */
-AP_DECLARE(void) ap_setup_prelinked_modules(process_rec *process);
-
-/**
- * Show the preloaded configuration directives, the help string explaining
- * the directive arguments, in what module they are handled, and in
- * what parts of the configuration they are allowed. Used for httpd -h.
- */
-AP_DECLARE(void) ap_show_directives(void);
-
-/**
- * Show the preloaded module names. Used for httpd -l.
- */
-AP_DECLARE(void) ap_show_modules(void);
-
-/**
- * Show the MPM name. Used in reporting modules such as mod_info to
- * provide extra information to the user
- */
-AP_DECLARE(const char *) ap_show_mpm(void);
-
-/**
- * Read all config files and setup the server
- * @param process The process running the server
- * @param temp_pool A pool to allocate temporary data from.
- * @param config_name The name of the config file
- * @param conftree Place to store the root of the config tree
- * @return The setup server_rec list.
- */
-AP_DECLARE(server_rec *) ap_read_config(process_rec *process,
- apr_pool_t *temp_pool,
- const char *config_name,
- ap_directive_t **conftree);
-
-/**
- * Run all rewrite args hooks for loaded modules
- * @param process The process currently running the server
- */
-AP_DECLARE(void) ap_run_rewrite_args(process_rec *process);
-
-/**
- * Run the register hooks function for a specified module
- * @param m The module to run the register hooks function fo
- * @param p The pool valid for the lifetime of the module
- */
-AP_DECLARE(void) ap_register_hooks(module *m, apr_pool_t *p);
-
-/**
- * Setup all virtual hosts
- * @param p The pool to allocate from
- * @param main_server The head of the server_rec list
- */
-AP_DECLARE(void) ap_fixup_virtual_hosts(apr_pool_t *p,
- server_rec *main_server);
-
-/* For http_request.c... */
-
-/**
- * Setup the config vector for a request_rec
- * @param p The pool to allocate the config vector from
- * @return The config vector
- */
-AP_CORE_DECLARE(ap_conf_vector_t*) ap_create_request_config(apr_pool_t *p);
-
-/**
- * Setup the config vector for per dir module configs
- * @param p The pool to allocate the config vector from
- * @return The config vector
- */
-AP_CORE_DECLARE(ap_conf_vector_t *) ap_create_per_dir_config(apr_pool_t *p);
-
-/**
- * Run all of the modules merge per dir config functions
- * @param p The pool to pass to the merge functions
- * @param base The base directory config structure
- * @param new_conf The new directory config structure
- */
-AP_CORE_DECLARE(ap_conf_vector_t*) ap_merge_per_dir_configs(apr_pool_t *p,
- ap_conf_vector_t *base,
- ap_conf_vector_t *new_conf);
-
-/* For http_connection.c... */
-/**
- * Setup the config vector for a connection_rec
- * @param p The pool to allocate the config vector from
- * @return The config vector
- */
-AP_CORE_DECLARE(ap_conf_vector_t*) ap_create_conn_config(apr_pool_t *p);
-
-/* For http_core.c... (<Directory> command and virtual hosts) */
-
-/**
- * parse an htaccess file
- * @param resulting htaccess_result
- * @param r The request currently being served
- * @param override Which overrides are active
- * @param path The path to the htaccess file
- * @param access_name The list of possible names for .htaccess files
- * int The status of the current request
- */
-AP_CORE_DECLARE(int) ap_parse_htaccess(ap_conf_vector_t **result,
- request_rec *r, int override,
- const char *path,
- const char *access_name);
-
-/**
- * Setup a virtual host
- * @param p The pool to allocate all memory from
- * @param hostname The hostname of the virtual hsot
- * @param main_server The main server for this Apache configuration
- * @param ps Place to store the new server_rec
- * return Error string on error, NULL on success
- */
-AP_CORE_DECLARE(const char *) ap_init_virtual_host(apr_pool_t *p,
- const char *hostname,
- server_rec *main_server,
- server_rec **);
-
-/**
- * Process the config file for Apache
- * @param s The server rec to use for the command parms
- * @param fname The name of the config file
- * @param conftree The root node of the created config tree
- * @param p Pool for general allocation
- * @param ptem Pool for temporary allocation
- */
-AP_DECLARE(void) ap_process_resource_config(server_rec *s, const char *fname,
- ap_directive_t **conftree,
- apr_pool_t *p, apr_pool_t *ptemp);
-
-/**
- * Process all directives in the config tree
- * @param s The server rec to use in the command parms
- * @param conftree The config tree to process
- * @param p The pool for general allocation
- * @param ptemp The pool for temporary allocations
- */
-AP_DECLARE(void) ap_process_config_tree(server_rec *s, ap_directive_t *conftree,
- apr_pool_t *p, apr_pool_t *ptemp);
-
-/* Module-method dispatchers, also for http_request.c */
-/**
- * Run the handler phase of each module until a module accepts the
- * responsibility of serving the request
- * @param r The current request
- * @return The status of the current request
- */
-AP_CORE_DECLARE(int) ap_invoke_handler(request_rec *r);
-
-/* for mod_perl */
-
-/**
- * Find a given directive in a command_rec table
- * @param name The directive to search for
- * @param cmds The table to search
- * @return The directive definition of the specified directive
- */
-AP_CORE_DECLARE(const command_rec *) ap_find_command(const char *name,
- const command_rec *cmds);
-
-/**
- * Find a given directive in a list module
- * @param cmd_name The directive to search for
- * @param mod The module list to search
- * @return The directive definition of the specified directive
- */
-AP_CORE_DECLARE(const command_rec *) ap_find_command_in_modules(const char *cmd_name,
- module **mod);
-
-/**
- * Ask a module to create per-server and per-section (dir/loc/file) configs
- * (if it hasn't happened already). The results are stored in the server's
- * config, and the specified per-section config vector.
- * @param server The server to operate upon.
- * @param section_vector The per-section config vector.
- * @param section Which section to create a config for.
- * @param mod The module which is defining the config data.
- * @param pconf A pool for all configuration allocations.
- * @return The (new) per-section config data.
- */
-AP_CORE_DECLARE(void *) ap_set_config_vectors(server_rec *server,
- ap_conf_vector_t *section_vector,
- const char *section,
- module *mod, apr_pool_t *pconf);
-
-#endif
-
- /* Hooks */
-
-/**
- * Run the header parser functions for each module
- * @param r The current request
- * @return OK or DECLINED
- */
-AP_DECLARE_HOOK(int,header_parser,(request_rec *r))
-
-/**
- * Run the pre_config function for each module
- * @param pconf The config pool
- * @param plog The logging streams pool
- * @param ptemp The temporary pool
- * @return OK or DECLINED on success anything else is a error
- */
-AP_DECLARE_HOOK(int,pre_config,(apr_pool_t *pconf,apr_pool_t *plog,
- apr_pool_t *ptemp))
-
-
-/**
- * Run the post_config function for each module
- * @param pconf The config pool
- * @param plog The logging streams pool
- * @param ptemp The temporary pool
- * @param s The list of server_recs
- * @return OK or DECLINED on success anything else is a error
- */
-AP_DECLARE_HOOK(int,post_config,(apr_pool_t *pconf,apr_pool_t *plog,
- apr_pool_t *ptemp,server_rec *s))
-
-/**
- * Run the open_logs functions for each module
- * @param pconf The config pool
- * @param plog The logging streams pool
- * @param ptemp The temporary pool
- * @param s The list of server_recs
- * @return OK or DECLINED on success anything else is a error
- */
-AP_DECLARE_HOOK(int,open_logs,(apr_pool_t *pconf,apr_pool_t *plog,
- apr_pool_t *ptemp,server_rec *s))
-
-/**
- * Run the child_init functions for each module
- * @param pchild The child pool
- * @param s The list of server_recs in this server
- */
-AP_DECLARE_HOOK(void,child_init,(apr_pool_t *pchild, server_rec *s))
-
-/**
- * Run the handler functions for each module
- * @param r The request_rec
- * @remark non-wildcard handlers should HOOK_MIDDLE, wildcard HOOK_LAST
- */
-AP_DECLARE_HOOK(int,handler,(request_rec *r))
-
-/**
- * Run the quick handler functions for each module. The quick_handler
- * is run before any other requests hooks are called (location_walk,
- * directory_walk, access checking, et. al.). This hook was added
- * to provide a quick way to serve content from a URI keyed cache.
- *
- * @param r The request_rec
- * @param lookup_uri Controls whether the caller actually wants content or not.
- * lookup is set when the quick_handler is called out of
- * ap_sub_req_lookup_uri()
- */
-AP_DECLARE_HOOK(int,quick_handler,(request_rec *r, int lookup_uri))
-
-/**
- * Retrieve the optional functions for each module.
- * This is run immediately before the server starts. Optional functions should
- * be registered during the hook registration phase.
- */
-AP_DECLARE_HOOK(void,optional_fn_retrieve,(void))
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !APACHE_HTTP_CONFIG_H */
diff --git a/rubbos/app/apache2/include/http_connection.h b/rubbos/app/apache2/include/http_connection.h
deleted file mode 100644
index 2b7d379f..00000000
--- a/rubbos/app/apache2/include/http_connection.h
+++ /dev/null
@@ -1,139 +0,0 @@
-/* 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 APACHE_HTTP_CONNECTION_H
-#define APACHE_HTTP_CONNECTION_H
-
-#include "apr_hooks.h"
-#include "apr_network_io.h"
-#include "apr_buckets.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @package Apache connection library
- */
-#ifdef CORE_PRIVATE
-/**
- * This is the protocol module driver. This calls all of the
- * pre-connection and connection hooks for all protocol modules.
- * @param c The connection on which the request is read
- * @param csd The mechanism on which this connection is to be read.
- * Most times this will be a socket, but it is up to the module
- * that accepts the request to determine the exact type.
- * @deffunc void ap_process_connection(conn_rec *c, void *csd)
- */
-AP_CORE_DECLARE(void) ap_process_connection(conn_rec *c, void *csd);
-
-AP_CORE_DECLARE(void) ap_flush_conn(conn_rec *c);
-
-/**
- * This function is responsible for the following cases:
- * <pre>
- * we now proceed to read from the client until we get EOF, or until
- * MAX_SECS_TO_LINGER has passed. the reasons for doing this are
- * documented in a draft:
- *
- * http://www.ics.uci.edu/pub/ietf/http/draft-ietf-http-connection-00.txt
- *
- * in a nutshell -- if we don't make this effort we risk causing
- * TCP RST packets to be sent which can tear down a connection before
- * all the response data has been sent to the client.
- * </pre>
- * @param c The connection we are closing
- */
-AP_DECLARE(void) ap_lingering_close(conn_rec *c);
-#endif
-
- /* Hooks */
-/**
- * create_connection is a RUN_FIRST hook which allows modules to create
- * connections. In general, you should not install filters with the
- * create_connection hook. If you require vhost configuration information
- * to make filter installation decisions, you must use the pre_connection
- * or install_network_transport hook. This hook should close the connection
- * if it encounters a fatal error condition.
- *
- * @param p The pool from which to allocate the connection record
- * @param csd The socket that has been accepted
- * @param conn_id A unique identifier for this connection. The ID only
- * needs to be unique at that time, not forever.
- * @param sbh A handle to scoreboard information for this connection.
- * @return An allocated connection record or NULL.
- */
-AP_DECLARE_HOOK(conn_rec *, create_connection,
- (apr_pool_t *p, server_rec *server, apr_socket_t *csd,
- long conn_id, void *sbh, apr_bucket_alloc_t *alloc))
-
-/**
- * This hook gives protocol modules an opportunity to set everything up
- * before calling the protocol handler. All pre-connection hooks are
- * run until one returns something other than ok or decline
- * @param c The connection on which the request has been received.
- * @param csd The mechanism on which this connection is to be read.
- * Most times this will be a socket, but it is up to the module
- * that accepts the request to determine the exact type.
- * @return OK or DECLINED
- * @deffunc int ap_run_pre_connection(conn_rec *c, void *csd)
- */
-AP_DECLARE_HOOK(int,pre_connection,(conn_rec *c, void *csd))
-
-/**
- * This hook implements different protocols. After a connection has been
- * established, the protocol module must read and serve the request. This
- * function does that for each protocol module. The first protocol module
- * to handle the request is the last module run.
- * @param c The connection on which the request has been received.
- * @return OK or DECLINED
- * @deffunc int ap_run_process_connection(conn_rec *c)
- */
-AP_DECLARE_HOOK(int,process_connection,(conn_rec *c))
-
-/* End Of Connection (EOC) bucket */
-
-AP_DECLARE_DATA extern const apr_bucket_type_t ap_bucket_type_eoc;
-
-/**
- * Determine if a bucket is an End Of Connection (EOC) bucket
- * @param e The bucket to inspect
- * @return true or false
- */
-#define AP_BUCKET_IS_EOC(e) (e->type == &ap_bucket_type_eoc)
-
-/**
- * Make the bucket passed in an End Of Connection (EOC) bucket
- * @param b The bucket to make into an EOC bucket
- * @return The new bucket, or NULL if allocation failed
- * @deffunc apr_bucket *ap_bucket_eoc_make(apr_bucket *b)
- */
-AP_DECLARE(apr_bucket *) ap_bucket_eoc_make(apr_bucket *b);
-
-/**
- * Create a bucket referring to an End Of Connection (EOC). This indicates
- * that the connection will be closed.
- * @param list The freelist from which this bucket should be allocated
- * @return The new bucket, or NULL if allocation failed
- * @deffunc apr_bucket *ap_bucket_eoc_create(apr_bucket_alloc_t *list)
- */
-AP_DECLARE(apr_bucket *) ap_bucket_eoc_create(apr_bucket_alloc_t *list);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !APACHE_HTTP_REQUEST_H */
diff --git a/rubbos/app/apache2/include/http_core.h b/rubbos/app/apache2/include/http_core.h
deleted file mode 100644
index 99b17a90..00000000
--- a/rubbos/app/apache2/include/http_core.h
+++ /dev/null
@@ -1,640 +0,0 @@
-/* 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 APACHE_HTTP_CORE_H
-#define APACHE_HTTP_CORE_H
-
-#include "apr.h"
-#include "apr_hash.h"
-#include "apr_optional.h"
-#include "util_filter.h"
-
-#if APR_HAVE_STRUCT_RLIMIT
-#include <sys/time.h>
-#include <sys/resource.h>
-#endif
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @package CORE HTTP Daemon
- */
-
-/* ****************************************************************
- *
- * The most basic server code is encapsulated in a single module
- * known as the core, which is just *barely* functional enough to
- * serve documents, though not terribly well.
- *
- * Largely for NCSA back-compatibility reasons, the core needs to
- * make pieces of its config structures available to other modules.
- * The accessors are declared here, along with the interpretation
- * of one of them (allow_options).
- */
-
-#define OPT_NONE 0
-#define OPT_INDEXES 1
-#define OPT_INCLUDES 2
-#define OPT_SYM_LINKS 4
-#define OPT_EXECCGI 8
-#define OPT_UNSET 16
-#define OPT_INCNOEXEC 32
-#define OPT_SYM_OWNER 64
-#define OPT_MULTI 128
-#define OPT_ALL (OPT_INDEXES|OPT_INCLUDES|OPT_SYM_LINKS|OPT_EXECCGI)
-
-/* options for get_remote_host() */
-/* REMOTE_HOST returns the hostname, or NULL if the hostname
- * lookup fails. It will force a DNS lookup according to the
- * HostnameLookups setting.
- */
-#define REMOTE_HOST (0)
-
-/* REMOTE_NAME returns the hostname, or the dotted quad if the
- * hostname lookup fails. It will force a DNS lookup according
- * to the HostnameLookups setting.
- */
-#define REMOTE_NAME (1)
-
-/* REMOTE_NOLOOKUP is like REMOTE_NAME except that a DNS lookup is
- * never forced.
- */
-#define REMOTE_NOLOOKUP (2)
-
-/* REMOTE_DOUBLE_REV will always force a DNS lookup, and also force
- * a double reverse lookup, regardless of the HostnameLookups
- * setting. The result is the (double reverse checked) hostname,
- * or NULL if any of the lookups fail.
- */
-#define REMOTE_DOUBLE_REV (3)
-
-#define SATISFY_ALL 0
-#define SATISFY_ANY 1
-#define SATISFY_NOSPEC 2
-
-/* Make sure we don't write less than 8000 bytes at any one time.
- */
-#define AP_MIN_BYTES_TO_WRITE 8000
-
-/* default maximum of internal redirects */
-# define AP_DEFAULT_MAX_INTERNAL_REDIRECTS 10
-
-/* default maximum subrequest nesting level */
-# define AP_DEFAULT_MAX_SUBREQ_DEPTH 10
-
-/**
- * Retrieve the value of Options for this request
- * @param r The current request
- * @return the Options bitmask
- * @deffunc int ap_allow_options(request_rec *r)
- */
-AP_DECLARE(int) ap_allow_options(request_rec *r);
-
-/**
- * Retrieve the value of the AllowOverride for this request
- * @param r The current request
- * @return the overrides bitmask
- * @deffunc int ap_allow_overrides(request_rec *r)
- */
-AP_DECLARE(int) ap_allow_overrides(request_rec *r);
-
-/**
- * Retrieve the value of the DefaultType directive, or text/plain if not set
- * @param r The current request
- * @return The default type
- * @deffunc const char *ap_default_type(request_rec *r)
- */
-AP_DECLARE(const char *) ap_default_type(request_rec *r);
-
-/**
- * Retrieve the document root for this server
- * @param r The current request
- * @warning Don't use this! If your request went through a Userdir, or
- * something like that, it'll screw you. But it's back-compatible...
- * @return The document root
- * @deffunc const char *ap_document_root(request_rec *r)
- */
-AP_DECLARE(const char *) ap_document_root(request_rec *r);
-
-/**
- * Lookup the remote client's DNS name or IP address
- * @param conn The current connection
- * @param dir_config The directory config vector from the request
- * @param type The type of lookup to perform. One of:
- * <pre>
- * REMOTE_HOST returns the hostname, or NULL if the hostname
- * lookup fails. It will force a DNS lookup according to the
- * HostnameLookups setting.
- * REMOTE_NAME returns the hostname, or the dotted quad if the
- * hostname lookup fails. It will force a DNS lookup according
- * to the HostnameLookups setting.
- * REMOTE_NOLOOKUP is like REMOTE_NAME except that a DNS lookup is
- * never forced.
- * REMOTE_DOUBLE_REV will always force a DNS lookup, and also force
- * a double reverse lookup, regardless of the HostnameLookups
- * setting. The result is the (double reverse checked)
- * hostname, or NULL if any of the lookups fail.
- * </pre>
- * @param str_is_ip unless NULL is passed, this will be set to non-zero on output when an IP address
- * string is returned
- * @return The remote hostname
- * @deffunc const char *ap_get_remote_host(conn_rec *conn, void *dir_config, int type, int *str_is_ip)
- */
-AP_DECLARE(const char *) ap_get_remote_host(conn_rec *conn, void *dir_config, int type, int *str_is_ip);
-
-/**
- * Retrieve the login name of the remote user. Undef if it could not be
- * determined
- * @param r The current request
- * @return The user logged in to the client machine
- * @deffunc const char *ap_get_remote_logname(request_rec *r)
- */
-AP_DECLARE(const char *) ap_get_remote_logname(request_rec *r);
-
-/* Used for constructing self-referencing URLs, and things like SERVER_PORT,
- * and SERVER_NAME.
- */
-/**
- * build a fully qualified URL from the uri and information in the request rec
- * @param p The pool to allocate the URL from
- * @param uri The path to the requested file
- * @param r The current request
- * @return A fully qualified URL
- * @deffunc char *ap_construct_url(apr_pool_t *p, const char *uri, request_rec *r)
- */
-AP_DECLARE(char *) ap_construct_url(apr_pool_t *p, const char *uri, request_rec *r);
-
-/**
- * Get the current server name from the request
- * @param r The current request
- * @return the server name
- * @deffunc const char *ap_get_server_name(request_rec *r)
- */
-AP_DECLARE(const char *) ap_get_server_name(request_rec *r);
-
-/**
- * Get the current server port
- * @param The current request
- * @return The server's port
- * @deffunc apr_port_t ap_get_server_port(const request_rec *r)
- */
-AP_DECLARE(apr_port_t) ap_get_server_port(const request_rec *r);
-
-/**
- * Return the limit on bytes in request msg body
- * @param r The current request
- * @return the maximum number of bytes in the request msg body
- * @deffunc apr_off_t ap_get_limit_req_body(const request_rec *r)
- */
-AP_DECLARE(apr_off_t) ap_get_limit_req_body(const request_rec *r);
-
-/**
- * Return the limit on bytes in XML request msg body
- * @param r The current request
- * @return the maximum number of bytes in XML request msg body
- * @deffunc size_t ap_get_limit_xml_body(const request_rec *r)
- */
-AP_DECLARE(size_t) ap_get_limit_xml_body(const request_rec *r);
-
-/**
- * Install a custom response handler for a given status
- * @param r The current request
- * @param status The status for which the custom response should be used
- * @param string The custom response. This can be a static string, a file
- * or a URL
- */
-AP_DECLARE(void) ap_custom_response(request_rec *r, int status, const char *string);
-
-/**
- * Check if the current request is beyond the configured max. number of redirects or subrequests
- * @param r The current request
- * @return true (is exceeded) or false
- * @deffunc int ap_is_recursion_limit_exceeded(const request_rec *r)
- */
-AP_DECLARE(int) ap_is_recursion_limit_exceeded(const request_rec *r);
-
-/**
- * Check for a definition from the server command line
- * @param name The define to check for
- * @return 1 if defined, 0 otherwise
- * @deffunc int ap_exists_config_define(const char *name)
- */
-AP_DECLARE(int) ap_exists_config_define(const char *name);
-/* FIXME! See STATUS about how */
-AP_DECLARE_NONSTD(int) ap_core_translate(request_rec *r);
-
-/* Authentication stuff. This is one of the places where compatibility
- * with the old config files *really* hurts; they don't discriminate at
- * all between different authentication schemes, meaning that we need
- * to maintain common state for all of them in the core, and make it
- * available to the other modules through interfaces.
- */
-typedef struct require_line require_line;
-
-/** A structure to keep track of authorization requirements */
-struct require_line {
- /** Where the require line is in the config file. */
- apr_int64_t method_mask;
- /** The complete string from the command line */
- char *requirement;
-};
-
-/**
- * Return the type of authorization required for this request
- * @param r The current request
- * @return The authorization required
- * @deffunc const char *ap_auth_type(request_rec *r)
- */
-AP_DECLARE(const char *) ap_auth_type(request_rec *r);
-
-/**
- * Return the current Authorization realm
- * @param r The current request
- * @return The current authorization realm
- * @deffunc const char *ap_auth_name(request_rec *r)
- */
-AP_DECLARE(const char *) ap_auth_name(request_rec *r);
-
-/**
- * How the requires lines must be met.
- * @param r The current request
- * @return How the requirements must be met. One of:
- * <pre>
- * SATISFY_ANY -- any of the requirements must be met.
- * SATISFY_ALL -- all of the requirements must be met.
- * SATISFY_NOSPEC -- There are no applicable satisfy lines
- * </pre>
- * @deffunc int ap_satisfies(request_rec *r)
- */
-AP_DECLARE(int) ap_satisfies(request_rec *r);
-
-/**
- * Retrieve information about all of the requires directives for this request
- * @param r The current request
- * @return An array of all requires directives for this request
- * @deffunc const apr_array_header_t *ap_requires(request_rec *r)
- */
-AP_DECLARE(const apr_array_header_t *) ap_requires(request_rec *r);
-
-#ifdef CORE_PRIVATE
-
-/*
- * Core is also unlike other modules in being implemented in more than
- * one file... so, data structures are declared here, even though most of
- * the code that cares really is in http_core.c. Also, another accessor.
- */
-
-AP_DECLARE_DATA extern module core_module;
-
-/* Per-request configuration */
-
-typedef struct {
- /* bucket brigade used by getline for look-ahead and
- * ap_get_client_block for holding left-over request body */
- struct apr_bucket_brigade *bb;
-
- /* an array of per-request working data elements, accessed
- * by ID using ap_get_request_note()
- * (Use ap_register_request_note() during initialization
- * to add elements)
- */
- void **notes;
-
- /* There is a script processor installed on the output filter chain,
- * so it needs the default_handler to deliver a (script) file into
- * the chain so it can process it. Normally, default_handler only
- * serves files on a GET request (assuming the file is actual content),
- * since other methods are not content-retrieval. This flag overrides
- * that behavior, stating that the "content" is actually a script and
- * won't actually be delivered as the response for the non-GET method.
- */
- int deliver_script;
-
- /* Custom response strings registered via ap_custom_response(),
- * or NULL; check per-dir config if nothing found here
- */
- char **response_code_strings; /* from ap_custom_response(), not from
- * ErrorDocument
- */
- /* Should addition of charset= be suppressed for this request?
- */
- int suppress_charset;
-} core_request_config;
-
-/* Standard entries that are guaranteed to be accessible via
- * ap_get_request_note() for each request (additional entries
- * can be added with ap_register_request_note())
- */
-#define AP_NOTE_DIRECTORY_WALK 0
-#define AP_NOTE_LOCATION_WALK 1
-#define AP_NOTE_FILE_WALK 2
-#define AP_NUM_STD_NOTES 3
-
-/**
- * Reserve an element in the core_request_config->notes array
- * for some application-specific data
- * @return An integer key that can be passed to ap_get_request_note()
- * during request processing to access this element for the
- * current request.
- */
-AP_DECLARE(apr_size_t) ap_register_request_note(void);
-
-/**
- * Retrieve a pointer to an element in the core_request_config->notes array
- * @param r The request
- * @param note_num A key for the element: either a value obtained from
- * ap_register_request_note() or one of the predefined AP_NOTE_*
- * values.
- * @return NULL if the note_num is invalid, otherwise a pointer to the
- * requested note element.
- * @remark At the start of a request, each note element is NULL. The
- * handle provided by ap_get_request_note() is a pointer-to-pointer
- * so that the caller can point the element to some app-specific
- * data structure. The caller should guarantee that any such
- * structure will last as long as the request itself.
- */
-AP_DECLARE(void **) ap_get_request_note(request_rec *r, apr_size_t note_num);
-
-/* Per-directory configuration */
-
-typedef unsigned char allow_options_t;
-typedef unsigned char overrides_t;
-
-/*
- * Bits of info that go into making an ETag for a file
- * document. Why a long? Because char historically
- * proved too short for Options, and int can be different
- * sizes on different platforms.
- */
-typedef unsigned long etag_components_t;
-
-#define ETAG_UNSET 0
-#define ETAG_NONE (1 << 0)
-#define ETAG_MTIME (1 << 1)
-#define ETAG_INODE (1 << 2)
-#define ETAG_SIZE (1 << 3)
-#define ETAG_BACKWARD (ETAG_MTIME | ETAG_INODE | ETAG_SIZE)
-#define ETAG_ALL (ETAG_MTIME | ETAG_INODE | ETAG_SIZE)
-
-typedef enum {
- srv_sig_unset,
- srv_sig_off,
- srv_sig_on,
- srv_sig_withmail
-} server_signature_e;
-
-typedef struct {
- /* path of the directory/regex/etc. see also d_is_fnmatch/absolute below */
- char *d;
- /* the number of slashes in d */
- unsigned d_components;
-
- /* If (opts & OPT_UNSET) then no absolute assignment to options has
- * been made.
- * invariant: (opts_add & opts_remove) == 0
- * Which said another way means that the last relative (options + or -)
- * assignment made to each bit is recorded in exactly one of opts_add
- * or opts_remove.
- */
- allow_options_t opts;
- allow_options_t opts_add;
- allow_options_t opts_remove;
- overrides_t override;
-
- /* MIME typing --- the core doesn't do anything at all with this,
- * but it does know what to slap on a request for a document which
- * goes untyped by other mechanisms before it slips out the door...
- */
-
- char *ap_default_type;
-
- /* Authentication stuff. Groan... */
-
- int *satisfy; /* for every method one */
- char *ap_auth_type;
- char *ap_auth_name;
- apr_array_header_t *ap_requires;
-
- /* Custom response config. These can contain text or a URL to redirect to.
- * if response_code_strings is NULL then there are none in the config,
- * if it's not null then it's allocated to sizeof(char*)*RESPONSE_CODES.
- * This lets us do quick merges in merge_core_dir_configs().
- */
-
- char **response_code_strings; /* from ErrorDocument, not from
- * ap_custom_response() */
-
- /* Hostname resolution etc */
-#define HOSTNAME_LOOKUP_OFF 0
-#define HOSTNAME_LOOKUP_ON 1
-#define HOSTNAME_LOOKUP_DOUBLE 2
-#define HOSTNAME_LOOKUP_UNSET 3
- unsigned int hostname_lookups : 4;
-
- signed int do_rfc1413 : 2; /* See if client is advertising a username? */
-
- signed int content_md5 : 2; /* calculate Content-MD5? */
-
-#define USE_CANONICAL_NAME_OFF (0)
-#define USE_CANONICAL_NAME_ON (1)
-#define USE_CANONICAL_NAME_DNS (2)
-#define USE_CANONICAL_NAME_UNSET (3)
- unsigned use_canonical_name : 2;
-
- /* since is_fnmatch(conf->d) was being called so frequently in
- * directory_walk() and its relatives, this field was created and
- * is set to the result of that call.
- */
- unsigned d_is_fnmatch : 1;
-
- /* should we force a charset on any outgoing parameterless content-type?
- * if so, which charset?
- */
-#define ADD_DEFAULT_CHARSET_OFF (0)
-#define ADD_DEFAULT_CHARSET_ON (1)
-#define ADD_DEFAULT_CHARSET_UNSET (2)
- unsigned add_default_charset : 2;
- const char *add_default_charset_name;
-
- /* System Resource Control */
-#ifdef RLIMIT_CPU
- struct rlimit *limit_cpu;
-#endif
-#if defined (RLIMIT_DATA) || defined (RLIMIT_VMEM) || defined(RLIMIT_AS)
- struct rlimit *limit_mem;
-#endif
-#ifdef RLIMIT_NPROC
- struct rlimit *limit_nproc;
-#endif
- apr_off_t limit_req_body; /* limit on bytes in request msg body */
- long limit_xml_body; /* limit on bytes in XML request msg body */
-
- /* logging options */
-
- server_signature_e server_signature;
-
- int loglevel;
-
- /* Access control */
- apr_array_header_t *sec_file;
- regex_t *r;
-
- const char *mime_type; /* forced with ForceType */
- const char *handler; /* forced with SetHandler */
- const char *output_filters; /* forced with SetOutputFilters */
- const char *input_filters; /* forced with SetInputFilters */
- int accept_path_info; /* forced with AcceptPathInfo */
-
- apr_hash_t *ct_output_filters; /* added with AddOutputFilterByType */
-
- /*
- * What attributes/data should be included in ETag generation?
- */
- etag_components_t etag_bits;
- etag_components_t etag_add;
- etag_components_t etag_remove;
-
- /*
- * Run-time performance tuning
- */
-#define ENABLE_MMAP_OFF (0)
-#define ENABLE_MMAP_ON (1)
-#define ENABLE_MMAP_UNSET (2)
- unsigned int enable_mmap : 2; /* whether files in this dir can be mmap'ed */
-
-#define ENABLE_SENDFILE_OFF (0)
-#define ENABLE_SENDFILE_ON (1)
-#define ENABLE_SENDFILE_UNSET (2)
- unsigned int enable_sendfile : 2; /* files in this dir can be mmap'ed */
- unsigned int allow_encoded_slashes : 1; /* URLs may contain %2f w/o being
- * pitched indiscriminately */
-} core_dir_config;
-
-/* Per-server core configuration */
-
-typedef struct {
-
-#ifdef GPROF
- char *gprof_dir;
-#endif
-
- /* Name translations --- we want the core to be able to do *something*
- * so it's at least a minimally functional web server on its own (and
- * can be tested that way). But let's keep it to the bare minimum:
- */
- const char *ap_document_root;
-
- /* Access control */
-
- char *access_name;
- apr_array_header_t *sec_dir;
- apr_array_header_t *sec_url;
-
- /* recursion backstopper */
- int redirect_limit; /* maximum number of internal redirects */
- int subreq_limit; /* maximum nesting level of subrequests */
-
- /* TRACE control */
-#define AP_TRACE_UNSET -1
-#define AP_TRACE_DISABLE 0
-#define AP_TRACE_ENABLE 1
-#define AP_TRACE_EXTENDED 2
- int trace_enable;
-
-} core_server_config;
-
-/* for AddOutputFiltersByType in core.c */
-void ap_add_output_filters_by_type(request_rec *r);
-
-/* for http_config.c */
-void ap_core_reorder_directories(apr_pool_t *, server_rec *);
-
-/* for mod_perl */
-AP_CORE_DECLARE(void) ap_add_per_dir_conf(server_rec *s, void *dir_config);
-AP_CORE_DECLARE(void) ap_add_per_url_conf(server_rec *s, void *url_config);
-AP_CORE_DECLARE(void) ap_add_file_conf(core_dir_config *conf, void *url_config);
-AP_CORE_DECLARE_NONSTD(const char *) ap_limit_section(cmd_parms *cmd, void *dummy, const char *arg);
-
-#endif
-
-
-/* ----------------------------------------------------------------------
- *
- * Runtime status/management
- */
-
-typedef enum {
- ap_mgmt_type_string,
- ap_mgmt_type_long,
- ap_mgmt_type_hash
-} ap_mgmt_type_e;
-
-typedef union {
- const char *s_value;
- long i_value;
- apr_hash_t *h_value;
-} ap_mgmt_value;
-
-typedef struct {
- const char *description;
- const char *name;
- ap_mgmt_type_e vtype;
- ap_mgmt_value v;
-} ap_mgmt_item_t;
-
-/* Handles for core filters */
-extern AP_DECLARE_DATA ap_filter_rec_t *ap_subreq_core_filter_handle;
-extern AP_DECLARE_DATA ap_filter_rec_t *ap_core_output_filter_handle;
-extern AP_DECLARE_DATA ap_filter_rec_t *ap_content_length_filter_handle;
-extern AP_DECLARE_DATA ap_filter_rec_t *ap_net_time_filter_handle;
-extern AP_DECLARE_DATA ap_filter_rec_t *ap_core_input_filter_handle;
-
-/**
- * This hook provdes a way for modules to provide metrics/statistics about
- * their operational status.
- *
- * @param p A pool to use to create entries in the hash table
- * @param val The name of the parameter(s) that is wanted. This is
- * tree-structured would be in the form ('*' is all the tree,
- * 'module.*' all of the module , 'module.foo.*', or
- * 'module.foo.bar' )
- * @param ht The hash table to store the results. Keys are item names, and
- * the values point to ap_mgmt_item_t structures.
- * @ingroup hooks
- */
-AP_DECLARE_HOOK(int, get_mgmt_items,
- (apr_pool_t *p, const char * val, apr_hash_t *ht))
-
-/* ---------------------------------------------------------------------- */
-
-/* ----------------------------------------------------------------------
- *
- * I/O logging with mod_logio
- */
-
-APR_DECLARE_OPTIONAL_FN(void, ap_logio_add_bytes_out,
- (conn_rec *c, apr_off_t bytes));
-
-/* ---------------------------------------------------------------------- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !APACHE_HTTP_CORE_H */
diff --git a/rubbos/app/apache2/include/http_log.h b/rubbos/app/apache2/include/http_log.h
deleted file mode 100644
index 52880585..00000000
--- a/rubbos/app/apache2/include/http_log.h
+++ /dev/null
@@ -1,334 +0,0 @@
-/* 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 APACHE_HTTP_LOG_H
-#define APACHE_HTTP_LOG_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "apr_thread_proc.h"
-
-/**
- * @package Apache logging library
- */
-
-#ifdef HAVE_SYSLOG
-#include <syslog.h>
-
-#ifndef LOG_PRIMASK
-#define LOG_PRIMASK 7
-#endif
-
-#define APLOG_EMERG LOG_EMERG /* system is unusable */
-#define APLOG_ALERT LOG_ALERT /* action must be taken immediately */
-#define APLOG_CRIT LOG_CRIT /* critical conditions */
-#define APLOG_ERR LOG_ERR /* error conditions */
-#define APLOG_WARNING LOG_WARNING /* warning conditions */
-#define APLOG_NOTICE LOG_NOTICE /* normal but significant condition */
-#define APLOG_INFO LOG_INFO /* informational */
-#define APLOG_DEBUG LOG_DEBUG /* debug-level messages */
-
-#define APLOG_LEVELMASK LOG_PRIMASK /* mask off the level value */
-
-#else
-
-#define APLOG_EMERG 0 /* system is unusable */
-#define APLOG_ALERT 1 /* action must be taken immediately */
-#define APLOG_CRIT 2 /* critical conditions */
-#define APLOG_ERR 3 /* error conditions */
-#define APLOG_WARNING 4 /* warning conditions */
-#define APLOG_NOTICE 5 /* normal but significant condition */
-#define APLOG_INFO 6 /* informational */
-#define APLOG_DEBUG 7 /* debug-level messages */
-
-#define APLOG_LEVELMASK 7 /* mask off the level value */
-
-#endif
-
-/* APLOG_NOERRNO is ignored and should not be used. It will be
- * removed in a future release of Apache.
- */
-#define APLOG_NOERRNO (APLOG_LEVELMASK + 1)
-
-/* Use APLOG_TOCLIENT on ap_log_rerror() to give content
- * handlers the option of including the error text in the
- * ErrorDocument sent back to the client. Setting APLOG_TOCLIENT
- * will cause the error text to be saved in the request_rec->notes
- * table, keyed to the string "error-notes", if and only if:
- * - the severity level of the message is APLOG_WARNING or greater
- * - there are no other "error-notes" set in request_rec->notes
- * Once error-notes is set, it is up to the content handler to
- * determine whether this text should be sent back to the client.
- * Note: Client generated text streams sent back to the client MUST
- * be escaped to prevent CSS attacks.
- */
-#define APLOG_TOCLIENT ((APLOG_LEVELMASK + 1) * 2)
-
-/* normal but significant condition on startup, usually printed to stderr */
-#define APLOG_STARTUP ((APLOG_LEVELMASK + 1) * 4)
-
-#ifndef DEFAULT_LOGLEVEL
-#define DEFAULT_LOGLEVEL APLOG_WARNING
-#endif
-
-extern int AP_DECLARE_DATA ap_default_loglevel;
-
-#define APLOG_MARK __FILE__,__LINE__
-
-/**
- * Set up for logging to stderr.
- * @param p The pool to allocate out of
- */
-AP_DECLARE(void) ap_open_stderr_log(apr_pool_t *p);
-
-/**
- * Replace logging to stderr with logging to the given file.
- * @param p The pool to allocate out of
- * @param file Name of the file to log stderr output
- */
-AP_DECLARE(apr_status_t) ap_replace_stderr_log(apr_pool_t *p,
- const char *file);
-
-/**
- * Open the error log and replace stderr with it.
- * @param pconf Not used
- * @param plog The pool to allocate the logs from
- * @param ptemp Pool used for temporary allocations
- * @param s_main The main server
- * @tip ap_open_logs isn't expected to be used by modules, it is
- * an internal core function
- */
-int ap_open_logs(apr_pool_t *pconf, apr_pool_t *plog,
- apr_pool_t *ptemp, server_rec *s_main);
-
-#ifdef CORE_PRIVATE
-
-/**
- * Perform special processing for piped loggers in MPM child
- * processes.
- * @param p Not used
- * @param s Not used
- * @tip ap_logs_child_init is not for use by modules; it is an
- * internal core function
- */
-void ap_logs_child_init(apr_pool_t *p, server_rec *s);
-
-#endif /* CORE_PRIVATE */
-
-/*
- * The primary logging functions, ap_log_error, ap_log_rerror, ap_log_cerror,
- * and ap_log_perror use a printf style format string to build the log message.
- * It is VERY IMPORTANT that you not include any raw data from the network,
- * such as the request-URI or request header fields, within the format
- * string. Doing so makes the server vulnerable to a denial-of-service
- * attack and other messy behavior. Instead, use a simple format string
- * like "%s", followed by the string containing the untrusted data.
- */
-
-/**
- * ap_log_error() - log messages which are not related to a particular
- * request or connection. This uses a printf-like format to log messages
- * to the error_log.
- * @param file The file in which this function is called
- * @param line The line number on which this function is called
- * @param level The level of this error message
- * @param status The status code from the previous command
- * @param s The server on which we are logging
- * @param fmt The format string
- * @param ... The arguments to use to fill out fmt.
- * @tip Use APLOG_MARK to fill out file and line
- * @tip If a request_rec is available, use that with ap_log_rerror()
- * in preference to calling this function. Otherwise, if a conn_rec is
- * available, use that with ap_log_cerror() in preference to calling
- * this function.
- * @warning It is VERY IMPORTANT that you not include any raw data from
- * the network, such as the request-URI or request header fields, within
- * the format string. Doing so makes the server vulnerable to a
- * denial-of-service attack and other messy behavior. Instead, use a
- * simple format string like "%s", followed by the string containing the
- * untrusted data.
- * @deffunc void ap_log_error(const char *file, int line, int level, apr_status_t status, const server_rec *s, const char *fmt, ...)
- */
-AP_DECLARE(void) ap_log_error(const char *file, int line, int level,
- apr_status_t status, const server_rec *s,
- const char *fmt, ...)
- __attribute__((format(printf,6,7)));
-
-/**
- * ap_log_perror() - log messages which are not related to a particular
- * request, connection, or virtual server. This uses a printf-like
- * format to log messages to the error_log.
- * @param file The file in which this function is called
- * @param line The line number on which this function is called
- * @param level The level of this error message
- * @param status The status code from the previous command
- * @param p The pool which we are logging for
- * @param fmt The format string
- * @param ... The arguments to use to fill out fmt.
- * @tip Use APLOG_MARK to fill out file and line
- * @warning It is VERY IMPORTANT that you not include any raw data from
- * the network, such as the request-URI or request header fields, within
- * the format string. Doing so makes the server vulnerable to a
- * denial-of-service attack and other messy behavior. Instead, use a
- * simple format string like "%s", followed by the string containing the
- * untrusted data.
- * @deffunc void ap_log_perror(const char *file, int line, int level, apr_status_t status, apr_pool_t *p, const char *fmt, ...)
- */
-AP_DECLARE(void) ap_log_perror(const char *file, int line, int level,
- apr_status_t status, apr_pool_t *p,
- const char *fmt, ...)
- __attribute__((format(printf,6,7)));
-
-/**
- * ap_log_rerror() - log messages which are related to a particular
- * request. This uses a a printf-like format to log messages to the
- * error_log.
- * @param file The file in which this function is called
- * @param line The line number on which this function is called
- * @param level The level of this error message
- * @param status The status code from the previous command
- * @param r The request which we are logging for
- * @param fmt The format string
- * @param ... The arguments to use to fill out fmt.
- * @tip Use APLOG_MARK to fill out file and line
- * @warning It is VERY IMPORTANT that you not include any raw data from
- * the network, such as the request-URI or request header fields, within
- * the format string. Doing so makes the server vulnerable to a
- * denial-of-service attack and other messy behavior. Instead, use a
- * simple format string like "%s", followed by the string containing the
- * untrusted data.
- * @deffunc void ap_log_rerror(const char *file, int line, int level, apr_status_t status, const request_rec *r, const char *fmt, ...)
- */
-AP_DECLARE(void) ap_log_rerror(const char *file, int line, int level,
- apr_status_t status, const request_rec *r,
- const char *fmt, ...)
- __attribute__((format(printf,6,7)));
-
-/**
- * ap_log_cerror() - log messages which are related to a particular
- * connection. This uses a a printf-like format to log messages to the
- * error_log.
- * @param file The file in which this function is called
- * @param line The line number on which this function is called
- * @param level The level of this error message
- * @param status The status code from the previous command
- * @param c The connection which we are logging for
- * @param fmt The format string
- * @param ... The arguments to use to fill out fmt.
- * @tip Use APLOG_MARK to fill out file and line
- * @tip If a request_rec is available, use that with ap_log_rerror()
- * in preference to calling this function.
- * @warning It is VERY IMPORTANT that you not include any raw data from
- * the network, such as the request-URI or request header fields, within
- * the format string. Doing so makes the server vulnerable to a
- * denial-of-service attack and other messy behavior. Instead, use a
- * simple format string like "%s", followed by the string containing the
- * untrusted data.
- * @note ap_log_cerror() is available starting with Apache 2.0.55.
- * @deffunc void ap_log_cerror(const char *file, int line, int level, apr_status_t status, const conn_rec *c, const char *fmt, ...)
- */
-AP_DECLARE(void) ap_log_cerror(const char *file, int line, int level,
- apr_status_t status, const conn_rec *c,
- const char *fmt, ...)
- __attribute__((format(printf,6,7)));
-
-/**
- * Convert stderr to the error log
- * @param s The current server
- * @deffunc void ap_error_log2stderr(server_rec *s)
- */
-AP_DECLARE(void) ap_error_log2stderr(server_rec *s);
-
-/**
- * Log the current pid of the parent process
- * @param p The pool to use for logging
- * @param fname The name of the file to log to
- */
-AP_DECLARE(void) ap_log_pid(apr_pool_t *p, const char *fname);
-
-/**
- * Retrieve the pid from a pidfile.
- * @param p The pool to use for logging
- * @param filename The name of the file containing the pid
- * @param mypid Pointer to pid_t (valid only if return APR_SUCCESS)
- */
-AP_DECLARE(apr_status_t) ap_read_pid(apr_pool_t *p, const char *filename, pid_t *mypid);
-
-typedef struct piped_log piped_log;
-
-/**
- * The piped logging structure. Piped logs are used to move functionality
- * out of the main server. For example, log rotation is done with piped logs.
- */
-struct piped_log {
- /** The pool to use for the piped log */
- apr_pool_t *p;
- /** The pipe between the server and the logging process */
- apr_file_t *fds[2];
- /* XXX - an #ifdef that needs to be eliminated from public view. Shouldn't
- * be hard */
-#ifdef AP_HAVE_RELIABLE_PIPED_LOGS
- /** The name of the program the logging process is running */
- char *program;
- /** The pid of the logging process */
- apr_proc_t *pid;
-#endif
-};
-
-/**
- * Open the piped log process
- * @param p The pool to allocate out of
- * @param program The program to run in the logging process
- * @return The piped log structure
- * @deffunc piped_log *ap_open_piped_log(apr_pool_t *p, const char *program)
- */
-AP_DECLARE(piped_log *) ap_open_piped_log(apr_pool_t *p, const char *program);
-
-/**
- * Close the piped log and kill the logging process
- * @param pl The piped log structure
- * @deffunc void ap_close_piped_log(piped_log *pl)
- */
-AP_DECLARE(void) ap_close_piped_log(piped_log *pl);
-
-/**
- * A macro to access the read side of the piped log pipe
- * @param pl The piped log structure
- * @return The native file descriptor
- * @deffunc ap_piped_log_read_fd(pl)
- */
-#define ap_piped_log_read_fd(pl) ((pl)->fds[0])
-
-/**
- * A macro to access the write side of the piped log pipe
- * @param pl The piped log structure
- * @return The native file descriptor
- * @deffunc ap_piped_log_read_fd(pl)
- */
-#define ap_piped_log_write_fd(pl) ((pl)->fds[1])
-
-AP_DECLARE_HOOK(void, error_log, (const char *file, int line, int level,
- apr_status_t status, const server_rec *s,
- const request_rec *r, apr_pool_t *pool,
- const char *errstr))
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !APACHE_HTTP_LOG_H */
diff --git a/rubbos/app/apache2/include/http_main.h b/rubbos/app/apache2/include/http_main.h
deleted file mode 100644
index cc4ce59d..00000000
--- a/rubbos/app/apache2/include/http_main.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* 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 APACHE_HTTP_MAIN_H
-#define APACHE_HTTP_MAIN_H
-
-#include "apr_optional.h"
-
-/* AP_SERVER_BASEARGS is the command argument list parsed by http_main.c
- * in apr_getopt() format. Use this for default'ing args that the MPM
- * can safely ignore and pass on from its rewrite_args() handler.
- */
-#define AP_SERVER_BASEARGS "C:c:D:d:E:e:f:vVlLtSh?X"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @package Command line options
- */
-
-/** The name of the Apache executable */
-AP_DECLARE_DATA extern const char *ap_server_argv0;
-/** The global server's ServerRoot */
-AP_DECLARE_DATA extern const char *ap_server_root;
-
-/* for -C, -c and -D switches */
-/** An array of all -C directives. These are processed before the server's
- * config file */
-AP_DECLARE_DATA extern apr_array_header_t *ap_server_pre_read_config;
-/** An array of all -c directives. These are processed after the server's
- * config file */
-AP_DECLARE_DATA extern apr_array_header_t *ap_server_post_read_config;
-/** An array of all -D defines on the command line. This allows people to
- * effect the server based on command line options */
-AP_DECLARE_DATA extern apr_array_header_t *ap_server_config_defines;
-
-APR_DECLARE_OPTIONAL_FN(int, ap_signal_server, (int *, apr_pool_t *));
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !APACHE_HTTP_MAIN_H */
diff --git a/rubbos/app/apache2/include/http_protocol.h b/rubbos/app/apache2/include/http_protocol.h
deleted file mode 100644
index 6287589f..00000000
--- a/rubbos/app/apache2/include/http_protocol.h
+++ /dev/null
@@ -1,697 +0,0 @@
-/* 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 APACHE_HTTP_PROTOCOL_H
-#define APACHE_HTTP_PROTOCOL_H
-
-#include "httpd.h"
-#include "apr_hooks.h"
-#include "apr_portable.h"
-#include "apr_mmap.h"
-#include "apr_buckets.h"
-#include "util_filter.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @package HTTP protocol handling
- */
-
-/**
- * This hook allows modules to insert filters for the current error response
- * @param r the current request
- * @ingroup hooks
- */
-AP_DECLARE_HOOK(void,insert_error_filter,(request_rec *r))
-
-/* This is an optimization. We keep a record of the filter_rec that
- * stores the old_write filter, so that we can avoid strcmp's later.
- */
-AP_DECLARE_DATA extern ap_filter_rec_t *ap_old_write_func;
-
-/*
- * Prototypes for routines which either talk directly back to the user,
- * or control the ones that eventually do.
- */
-
-/**
- * Read a request and fill in the fields.
- * @param c The current connection
- * @return The new request_rec
- */
-request_rec *ap_read_request(conn_rec *c);
-
-/**
- * Read the mime-encoded headers.
- * @param r The current request
- */
-AP_DECLARE(void) ap_get_mime_headers(request_rec *r);
-
-/**
- * Optimized version of ap_get_mime_headers() that requires a
- * temporary brigade to work with
- * @param r The current request
- * @param bb temp brigade
- */
-AP_DECLARE(void) ap_get_mime_headers_core(request_rec *r,
- apr_bucket_brigade *bb);
-
-/* Finish up stuff after a request */
-
-/**
- * Called at completion of sending the response. It sends the terminating
- * protocol information.
- * @param r The current request
- * @deffunc void ap_finalize_request_protocol(request_rec *r)
- */
-AP_DECLARE(void) ap_finalize_request_protocol(request_rec *r);
-
-/**
- * Send error back to client.
- * @param r The current request
- * @param recursive_error last arg indicates error status in case we get
- * an error in the process of trying to deal with an ErrorDocument
- * to handle some other error. In that case, we print the default
- * report for the first thing that went wrong, and more briefly report
- * on the problem with the ErrorDocument.
- * @deffunc void ap_send_error_response(request_rec *r, int recursive_error)
- */
-AP_DECLARE(void) ap_send_error_response(request_rec *r, int recursive_error);
-
-/* Set last modified header line from the lastmod date of the associated file.
- * Also, set content length.
- *
- * May return an error status, typically HTTP_NOT_MODIFIED (that when the
- * permit_cache argument is set to one).
- */
-
-/**
- * Set the content length for this request
- * @param r The current request
- * @param length The new content length
- * @deffunc void ap_set_content_length(request_rec *r, apr_off_t length)
- */
-AP_DECLARE(void) ap_set_content_length(request_rec *r, apr_off_t length);
-
-/**
- * Set the keepalive status for this request
- * @param r The current request
- * @return 1 if keepalive can be set, 0 otherwise
- * @deffunc int ap_set_keepalive(request_rec *r)
- */
-AP_DECLARE(int) ap_set_keepalive(request_rec *r);
-
-/**
- * Return the latest rational time from a request/mtime pair. Mtime is
- * returned unless it's in the future, in which case we return the current time.
- * @param r The current request
- * @param mtime The last modified time
- * @return the latest rational time.
- * @deffunc apr_time_t ap_rationalize_mtime(request_rec *r, apr_time_t mtime)
- */
-AP_DECLARE(apr_time_t) ap_rationalize_mtime(request_rec *r, apr_time_t mtime);
-
-/**
- * Build the content-type that should be sent to the client from the
- * content-type specified. The following rules are followed:
- * - if type is NULL, type is set to ap_default_type(r)
- * - if charset adding is disabled, stop processing and return type.
- * - then, if there are no parameters on type, add the default charset
- * - return type
- * @param r The current request
- * @return The content-type
- * @deffunc const char *ap_make_content_type(request_rec *r, const char *type);
- */
-AP_DECLARE(const char *) ap_make_content_type(request_rec *r,
- const char *type);
-
-#ifdef CORE_PRIVATE
-/**
- * Precompile metadata structures used by ap_make_content_type()
- * @param r The pool to use for allocations
- * @deffunc void ap_setup_make_content_type(apr_pool_t *pool)
- */
-AP_DECLARE(void) ap_setup_make_content_type(apr_pool_t *pool);
-#endif /* CORE_PRIVATE */
-
-/**
- * Construct an entity tag from the resource information. If it's a real
- * file, build in some of the file characteristics.
- * @param r The current request
- * @param force_weak Force the entity tag to be weak - it could be modified
- * again in as short an interval.
- * @return The entity tag
- * @deffunc char *ap_make_etag(request_rec *r, int force_weak)
- */
-AP_DECLARE(char *) ap_make_etag(request_rec *r, int force_weak);
-
-/**
- * Set the E-tag outgoing header
- * @param The current request
- * @deffunc void ap_set_etag(request_rec *r)
- */
-AP_DECLARE(void) ap_set_etag(request_rec *r);
-
-/**
- * Set the last modified time for the file being sent
- * @param r The current request
- * @deffunc void ap_set_last_modified(request_rec *r)
- */
-AP_DECLARE(void) ap_set_last_modified(request_rec *r);
-
-/**
- * Implements condition GET rules for HTTP/1.1 specification. This function
- * inspects the client headers and determines if the response fulfills
- * the requirements specified.
- * @param r The current request
- * @return OK if the response fulfills the condition GET rules, some
- * other status code otherwise
- * @deffunc int ap_meets_conditions(request_rec *r)
- */
-AP_DECLARE(int) ap_meets_conditions(request_rec *r);
-
-/* Other ways to send stuff at the client. All of these keep track
- * of bytes_sent automatically. This indirection is intended to make
- * it a little more painless to slide things like HTTP-NG packetization
- * underneath the main body of the code later. In the meantime, it lets
- * us centralize a bit of accounting (bytes_sent).
- *
- * These also return the number of bytes written by the call.
- * They should only be called with a timeout registered, for obvious reaasons.
- * (Ditto the send_header stuff).
- */
-
-/**
- * Send an entire file to the client, using sendfile if supported by the
- * current platform
- * @param fd The file to send.
- * @param r The current request
- * @param offset Offset into the file to start sending.
- * @param length Amount of data to send
- * @param nbytes Amount of data actually sent
- * @deffunc apr_status_t ap_send_fd(apr_file_t *fd, request_rec *r, apr_off_t offset, apr_size_t length, apr_size_t *nbytes);
- */
-AP_DECLARE(apr_status_t) ap_send_fd(apr_file_t *fd, request_rec *r, apr_off_t offset,
- apr_size_t length, apr_size_t *nbytes);
-
-#if APR_HAS_MMAP
-/**
- * Send an MMAP'ed file to the client
- * @param mm The MMAP'ed file to send
- * @param r The current request
- * @param offset The offset into the MMAP to start sending
- * @param length The amount of data to send
- * @return The number of bytes sent
- * @deffunc size_t ap_send_mmap(apr_mmap_t *mm, request_rec *r, size_t offset, size_t length)
- */
-AP_DECLARE(size_t) ap_send_mmap(apr_mmap_t *mm, request_rec *r, size_t offset,
- size_t length);
-#endif
-
-
-/**
- * Register a new request method, and return the offset that will be
- * associated with that method.
- *
- * @param p The pool to create registered method numbers from.
- * @param methname The name of the new method to register.
- * @return Ab int value representing an offset into a bitmask.
- */
-AP_DECLARE(int) ap_method_register(apr_pool_t *p, const char *methname);
-
-/**
- * Initialize the method_registry and allocate memory for it.
- *
- * @param p Pool to allocate memory for the registry from.
- */
-AP_DECLARE(void) ap_method_registry_init(apr_pool_t *p);
-
-/*
- * This is a convenience macro to ease with checking a mask
- * against a method name.
- */
-#define AP_METHOD_CHECK_ALLOWED(mask, methname) \
- ((mask) & (AP_METHOD_BIT << ap_method_number_of((methname))))
-
-/**
- * Create a new method list with the specified number of preallocated
- * slots for extension methods.
- *
- * @param p Pointer to a pool in which the structure should be
- * allocated.
- * @param nelts Number of preallocated extension slots
- * @return Pointer to the newly created structure.
- * @deffunc ap_method_list_t ap_make_method_list(apr_pool_t *p, int nelts)
- */
-AP_DECLARE(ap_method_list_t *) ap_make_method_list(apr_pool_t *p, int nelts);
-AP_DECLARE(void) ap_copy_method_list(ap_method_list_t *dest,
- ap_method_list_t *src);
-AP_DECLARE_NONSTD(void) ap_method_list_do(int (*comp) (void *urec, const char *mname,
- int mnum),
- void *rec,
- const ap_method_list_t *ml, ...);
-AP_DECLARE(void) ap_method_list_vdo(int (*comp) (void *urec, const char *mname,
- int mnum),
- void *rec, const ap_method_list_t *ml,
- va_list vp);
-/**
- * Search for an HTTP method name in an ap_method_list_t structure, and
- * return true if found.
- *
- * @param method String containing the name of the method to check.
- * @param l Pointer to a method list, such as cmd->methods_limited.
- * @return 1 if method is in the list, otherwise 0
- * @deffunc int ap_method_in_list(const char *method, ap_method_list_t *l)
- */
-AP_DECLARE(int) ap_method_in_list(ap_method_list_t *l, const char *method);
-
-/**
- * Add an HTTP method name to an ap_method_list_t structure if it isn't
- * already listed.
- *
- * @param method String containing the name of the method to check.
- * @param l Pointer to a method list, such as cmd->methods_limited.
- * @return None.
- * @deffunc void ap_method_in_list(ap_method_list_t *l, const char *method)
- */
-AP_DECLARE(void) ap_method_list_add(ap_method_list_t *l, const char *method);
-
-/**
- * Remove an HTTP method name from an ap_method_list_t structure.
- *
- * @param l Pointer to a method list, such as cmd->methods_limited.
- * @param method String containing the name of the method to remove.
- * @return None.
- * @deffunc void ap_method_list_remove(ap_method_list_t *l, const char *method)
- */
-AP_DECLARE(void) ap_method_list_remove(ap_method_list_t *l,
- const char *method);
-
-/**
- * Reset a method list to be completely empty.
- *
- * @param l Pointer to a method list, such as cmd->methods_limited.
- * @return None.
- * @deffunc void ap_clear_method_list(ap_method_list_t *l)
- */
-AP_DECLARE(void) ap_clear_method_list(ap_method_list_t *l);
-
-/**
- * Set the content type for this request (r->content_type).
- * @param r The current request
- * @param ct The new content type
- * @deffunc void ap_set_content_type(request_rec *r, const char* ct)
- * @warning This function must be called to set r->content_type in order
- * for the AddOutputFilterByType directive to work correctly.
- */
-AP_DECLARE(void) ap_set_content_type(request_rec *r, const char *ct);
-
-/* Hmmm... could macrofy these for now, and maybe forever, though the
- * definitions of the macros would get a whole lot hairier.
- */
-
-/**
- * Output one character for this request
- * @param c the character to output
- * @param r the current request
- * @return The number of bytes sent
- * @deffunc int ap_rputc(int c, request_rec *r)
- */
-AP_DECLARE(int) ap_rputc(int c, request_rec *r);
-
-/**
- * Output a string for the current request
- * @param str The string to output
- * @param r The current request
- * @return The number of bytes sent
- * @deffunc int ap_rputs(const char *str, request_rec *r)
- */
-AP_DECLARE(int) ap_rputs(const char *str, request_rec *r);
-
-/**
- * Write a buffer for the current request
- * @param buf The buffer to write
- * @param nbyte The number of bytes to send from the buffer
- * @param r The current request
- * @return The number of bytes sent
- * @deffunc int ap_rwrite(const void *buf, int nbyte, request_rec *r)
- */
-AP_DECLARE(int) ap_rwrite(const void *buf, int nbyte, request_rec *r);
-
-/**
- * Write an unspecified number of strings to the request
- * @param r The current request
- * @param ... The strings to write
- * @return The number of bytes sent
- * @deffunc int ap_rvputs(request_rec *r, ...)
- */
-AP_DECLARE_NONSTD(int) ap_rvputs(request_rec *r,...);
-
-/**
- * Output data to the client in a printf format
- * @param r The current request
- * @param fmt The format string
- * @param vlist The arguments to use to fill out the format string
- * @return The number of bytes sent
- * @deffunc int ap_vrprintf(request_rec *r, const char *fmt, va_list vlist)
- */
-AP_DECLARE(int) ap_vrprintf(request_rec *r, const char *fmt, va_list vlist);
-
-/**
- * Output data to the client in a printf format
- * @param r The current request
- * @param fmt The format string
- * @param ... The arguments to use to fill out the format string
- * @return The number of bytes sent
- * @deffunc int ap_rprintf(request_rec *r, const char *fmt, ...)
- */
-AP_DECLARE_NONSTD(int) ap_rprintf(request_rec *r, const char *fmt,...)
- __attribute__((format(printf,2,3)));
-/**
- * Flush all of the data for the current request to the client
- * @param r The current request
- * @return The number of bytes sent
- * @deffunc int ap_rflush(request_rec *r)
- */
-AP_DECLARE(int) ap_rflush(request_rec *r);
-
-/**
- * Index used in custom_responses array for a specific error code
- * (only use outside protocol.c is in getting them configured).
- * @param status HTTP status code
- * @return The index of the response
- * @deffunc int ap_index_of_response(int status)
- */
-AP_DECLARE(int) ap_index_of_response(int status);
-
-/**
- * Return the Status-Line for a given status code (excluding the
- * HTTP-Version field). If an invalid or unknown status code is
- * passed, "500 Internal Server Error" will be returned.
- * @param status The HTTP status code
- * @return The Status-Line
- * @deffunc const char *ap_get_status_line(int status)
- */
-AP_DECLARE(const char *) ap_get_status_line(int status);
-
-/* Reading a block of data from the client connection (e.g., POST arg) */
-
-/**
- * Setup the client to allow Apache to read the request body.
- * @param r The current request
- * @param read_policy How the server should interpret a chunked
- * transfer-encoding. One of: <pre>
- * REQUEST_NO_BODY Send 413 error if message has any body
- * REQUEST_CHUNKED_ERROR Send 411 error if body without Content-Length
- * REQUEST_CHUNKED_DECHUNK If chunked, remove the chunks for me.
- * </pre>
- * @return either OK or an error code
- * @deffunc int ap_setup_client_block(request_rec *r, int read_policy)
- */
-AP_DECLARE(int) ap_setup_client_block(request_rec *r, int read_policy);
-
-/**
- * Determine if the client has sent any data. This also sends a
- * 100 Continue response to HTTP/1.1 clients, so modules should not be called
- * until the module is ready to read content.
- * @warning Never call this function more than once.
- * @param r The current request
- * @return 0 if there is no message to read, 1 otherwise
- * @deffunc int ap_should_client_block(request_rec *r)
- */
-AP_DECLARE(int) ap_should_client_block(request_rec *r);
-
-/**
- * Call this in a loop. It will put data into a buffer and return the length
- * of the input block
- * @param r The current request
- * @param buffer The buffer in which to store the data
- * @param bufsiz The size of the buffer
- * @return Number of bytes inserted into the buffer. When done reading, 0
- * if EOF, or -1 if there was an error
- * @deffunc long ap_get_client_block(request_rec *r, char *buffer, apr_size_t bufsiz)
- */
-AP_DECLARE(long) ap_get_client_block(request_rec *r, char *buffer, apr_size_t bufsiz);
-
-/**
- * In HTTP/1.1, any method can have a body. However, most GET handlers
- * wouldn't know what to do with a request body if they received one.
- * This helper routine tests for and reads any message body in the request,
- * simply discarding whatever it receives. We need to do this because
- * failing to read the request body would cause it to be interpreted
- * as the next request on a persistent connection.
- * @param r The current request
- * @return error status if request is malformed, OK otherwise
- * @deffunc int ap_discard_request_body(request_rec *r)
- */
-AP_DECLARE(int) ap_discard_request_body(request_rec *r);
-
-
-/**
- * Setup the output headers so that the client knows how to authenticate
- * itself the next time, if an authentication request failed. This function
- * works for both basic and digest authentication
- * @param r The current request
- * @deffunc void ap_note_auth_failure(request_rec *r)
- */
-AP_DECLARE(void) ap_note_auth_failure(request_rec *r);
-
-/**
- * Setup the output headers so that the client knows how to authenticate
- * itself the next time, if an authentication request failed. This function
- * works only for basic authentication
- * @param r The current request
- * @deffunc void ap_note_basic_auth_failure(request_rec *r)
- */
-AP_DECLARE(void) ap_note_basic_auth_failure(request_rec *r);
-
-/**
- * Setup the output headers so that the client knows how to authenticate
- * itself the next time, if an authentication request failed. This function
- * works only for digest authentication
- * @param r The current request
- * @deffunc void ap_note_digest_auth_failure(request_rec *r)
- */
-AP_DECLARE(void) ap_note_digest_auth_failure(request_rec *r);
-
-/**
- * Get the password from the request headers
- * @param r The current request
- * @param pw The password as set in the headers
- * @return 0 (OK) if it set the 'pw' argument (and assured
- * a correct value in r->user); otherwise it returns
- * an error code, either HTTP_INTERNAL_SERVER_ERROR if things are
- * really confused, HTTP_UNAUTHORIZED if no authentication at all
- * seemed to be in use, or DECLINED if there was authentication but
- * it wasn't Basic (in which case, the caller should presumably
- * decline as well).
- * @deffunc int ap_get_basic_auth_pw(request_rec *r, const char **pw)
- */
-AP_DECLARE(int) ap_get_basic_auth_pw(request_rec *r, const char **pw);
-
-/**
- * parse_uri: break apart the uri
- * @warning Side Effects: <pre>
- * - sets r->args to rest after '?' (or NULL if no '?')
- * - sets r->uri to request uri (without r->args part)
- * - sets r->hostname (if not set already) from request (scheme://host:port)
- * </pre>
- * @param r The current request
- * @param uri The uri to break apart
- * @deffunc void ap_parse_uri(request_rec *r, const char *uri)
- */
-AP_CORE_DECLARE(void) ap_parse_uri(request_rec *r, const char *uri);
-
-/**
- * Get the next line of input for the request
- * @param s The buffer into which to read the line
- * @param n The size of the buffer
- * @param r The request
- * @param fold Whether to merge continuation lines
- * @return The length of the line, if successful
- * n, if the line is too big to fit in the buffer
- * -1 for miscellaneous errors
- * @deffunc int ap_method_number_of(const char *method)
- */
-AP_DECLARE(int) ap_getline(char *s, int n, request_rec *r, int fold);
-
-/**
- * Get the next line of input for the request
- *
- * Note: on ASCII boxes, ap_rgetline is a macro which simply calls
- * ap_rgetline_core to get the line of input.
- *
- * on EBCDIC boxes, ap_rgetline is a wrapper function which
- * translates ASCII protocol lines to the local EBCDIC code page
- * after getting the line of input.
- *
- * @param s Pointer to the pointer to the buffer into which the line
- * should be read; if *s==NULL, a buffer of the necessary size
- * to hold the data will be allocated from the request pool
- * @param n The size of the buffer
- * @param read The length of the line.
- * @param r The request
- * @param fold Whether to merge continuation lines
- * @param bb Working brigade to use when reading buckets
- * @return APR_SUCCESS, if successful
- * APR_ENOSPC, if the line is too big to fit in the buffer
- * Other errors where appropriate
- */
-#if APR_CHARSET_EBCDIC
-AP_DECLARE(apr_status_t) ap_rgetline(char **s, apr_size_t n,
- apr_size_t *read,
- request_rec *r, int fold,
- apr_bucket_brigade *bb);
-#else /* ASCII box */
-#define ap_rgetline(s, n, read, r, fold, bb) \
- ap_rgetline_core((s), (n), (read), (r), (fold), (bb))
-#endif
-AP_DECLARE(apr_status_t) ap_rgetline_core(char **s, apr_size_t n,
- apr_size_t *read,
- request_rec *r, int fold,
- apr_bucket_brigade *bb);
-
-/**
- * Get the method number associated with the given string, assumed to
- * contain an HTTP method. Returns M_INVALID if not recognized.
- * @param method A string containing a valid HTTP method
- * @return The method number
- */
-AP_DECLARE(int) ap_method_number_of(const char *method);
-
-/**
- * Get the method name associated with the given internal method
- * number. Returns NULL if not recognized.
- * @param p A pool to use for temporary allocations.
- * @param methnum An integer value corresponding to an internal method number
- * @return The name corresponding to the method number
- */
-AP_DECLARE(const char *) ap_method_name_of(apr_pool_t *p, int methnum);
-
-
- /* Hooks */
- /*
- * post_read_request --- run right after read_request or internal_redirect,
- * and not run during any subrequests.
- */
-/**
- * This hook allows modules to affect the request immediately after the request
- * has been read, and before any other phases have been processes. This allows
- * modules to make decisions based upon the input header fields
- * @param r The current request
- * @return OK or DECLINED
- * @deffunc ap_run_post_read_request(request_rec *r)
- */
-AP_DECLARE_HOOK(int,post_read_request,(request_rec *r))
-
-/**
- * This hook allows modules to perform any module-specific logging activities
- * over and above the normal server things.
- * @param r The current request
- * @return OK, DECLINED, or HTTP_...
- * @deffunc int ap_run_log_transaction(request_rec *r)
- */
-AP_DECLARE_HOOK(int,log_transaction,(request_rec *r))
-
-/**
- * This hook allows modules to retrieve the http method from a request. This
- * allows Apache modules to easily extend the methods that Apache understands
- * @param r The current request
- * @return The http method from the request
- * @deffunc const char *ap_run_http_method(const request_rec *r)
- */
-AP_DECLARE_HOOK(const char *,http_method,(const request_rec *r))
-
-/**
- * Return the default port from the current request
- * @param r The current request
- * @return The current port
- * @deffunc apr_port_t ap_run_default_port(const request_rec *r)
- */
-AP_DECLARE_HOOK(apr_port_t,default_port,(const request_rec *r))
-
-typedef struct ap_bucket_error ap_bucket_error;
-
-/**
- * A bucket referring to an HTTP error
- * This bucket can be passed down the filter stack to indicate that an
- * HTTP error occurred while running a filter. In order for this bucket
- * to be used successfully, it MUST be sent as the first bucket in the
- * first brigade to be sent from a given filter.
- */
-struct ap_bucket_error {
- /** Number of buckets using this memory */
- apr_bucket_refcount refcount;
- /** The error code */
- int status;
- /** The error string */
- const char *data;
-};
-
-AP_DECLARE_DATA extern const apr_bucket_type_t ap_bucket_type_error;
-
-/**
- * Determine if a bucket is an error bucket
- * @param e The bucket to inspect
- * @return true or false
- */
-#define AP_BUCKET_IS_ERROR(e) (e->type == &ap_bucket_type_error)
-
-/**
- * Make the bucket passed in an error bucket
- * @param b The bucket to make into an error bucket
- * @param error The HTTP error code to put in the bucket.
- * @param buf An optional error string to put in the bucket.
- * @param p A pool to allocate out of.
- * @return The new bucket, or NULL if allocation failed
- * @deffunc apr_bucket *ap_bucket_error_make(apr_bucket *b, int error, const char *buf, apr_pool_t *p)
- */
-AP_DECLARE(apr_bucket *) ap_bucket_error_make(apr_bucket *b, int error,
- const char *buf, apr_pool_t *p);
-
-/**
- * Create a bucket referring to an HTTP error.
- * @param error The HTTP error code to put in the bucket.
- * @param buf An optional error string to put in the bucket.
- * @param p A pool to allocate the error string out of.
- * @param list The bucket allocator from which to allocate the bucket
- * @return The new bucket, or NULL if allocation failed
- * @deffunc apr_bucket *ap_bucket_error_create(int error, const char *buf, apr_pool_t *p, apr_bucket_alloc_t *list)
- */
-AP_DECLARE(apr_bucket *) ap_bucket_error_create(int error, const char *buf,
- apr_pool_t *p,
- apr_bucket_alloc_t *list);
-
-AP_DECLARE_NONSTD(apr_status_t) ap_byterange_filter(ap_filter_t *f, apr_bucket_brigade *b);
-AP_DECLARE_NONSTD(apr_status_t) ap_http_header_filter(ap_filter_t *f, apr_bucket_brigade *b);
-AP_DECLARE_NONSTD(apr_status_t) ap_content_length_filter(ap_filter_t *,
- apr_bucket_brigade *);
-AP_DECLARE_NONSTD(apr_status_t) ap_old_write_filter(ap_filter_t *f, apr_bucket_brigade *b);
-
-/*
- * Setting up the protocol fields for subsidiary requests...
- * Also, a wrapup function to keep the internal accounting straight.
- */
-AP_DECLARE(void) ap_set_sub_req_protocol(request_rec *rnew, const request_rec *r);
-AP_DECLARE(void) ap_finalize_sub_req_protocol(request_rec *sub_r);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !APACHE_HTTP_PROTOCOL_H */
diff --git a/rubbos/app/apache2/include/http_request.h b/rubbos/app/apache2/include/http_request.h
deleted file mode 100644
index c10e44db..00000000
--- a/rubbos/app/apache2/include/http_request.h
+++ /dev/null
@@ -1,373 +0,0 @@
-/* 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 APACHE_HTTP_REQUEST_H
-#define APACHE_HTTP_REQUEST_H
-
-#include "apr_hooks.h"
-#include "util_filter.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define AP_SUBREQ_NO_ARGS 0
-#define AP_SUBREQ_MERGE_ARGS 1
-
-/**
- * @file http_request.h
- * @brief Apache Request library
- */
-
-/* http_request.c is the code which handles the main line of request
- * processing, once a request has been read in (finding the right per-
- * directory configuration, building it if necessary, and calling all
- * the module dispatch functions in the right order).
- *
- * The pieces here which are public to the modules, allow them to learn
- * how the server would handle some other file or URI, or perhaps even
- * direct the server to serve that other file instead of the one the
- * client requested directly.
- *
- * There are two ways to do that. The first is the sub_request mechanism,
- * which handles looking up files and URIs as adjuncts to some other
- * request (e.g., directory entries for multiviews and directory listings);
- * the lookup functions stop short of actually running the request, but
- * (e.g., for includes), a module may call for the request to be run
- * by calling run_sub_req. The space allocated to create sub_reqs can be
- * reclaimed by calling destroy_sub_req --- be sure to copy anything you care
- * about which was allocated in its apr_pool_t elsewhere before doing this.
- */
-
-/**
- * An internal handler used by the ap_process_request, all subrequest mechanisms
- * and the redirect mechanism.
- * @param r The request, subrequest or internal redirect to pre-process
- * @return The return code for the request
- */
-AP_DECLARE(int) ap_process_request_internal(request_rec *r);
-
-/**
- * Create a subrequest from the given URI. This subrequest can be
- * inspected to find information about the requested URI
- * @param new_uri The URI to lookup
- * @param r The current request
- * @param next_filter The first filter the sub_request should use. If this is
- * NULL, it defaults to the first filter for the main request
- * @return The new request record
- * @deffunc request_rec * ap_sub_req_lookup_uri(const char *new_uri, const request_rec *r)
- */
-AP_DECLARE(request_rec *) ap_sub_req_lookup_uri(const char *new_uri,
- const request_rec *r,
- ap_filter_t *next_filter);
-
-/**
- * Create a subrequest for the given file. This subrequest can be
- * inspected to find information about the requested file
- * @param new_file The file to lookup
- * @param r The current request
- * @param next_filter The first filter the sub_request should use. If this is
- * NULL, it defaults to the first filter for the main request
- * @return The new request record
- * @deffunc request_rec * ap_sub_req_lookup_file(const char *new_file, const request_rec *r)
- */
-AP_DECLARE(request_rec *) ap_sub_req_lookup_file(const char *new_file,
- const request_rec *r,
- ap_filter_t *next_filter);
-/**
- * Create a subrequest for the given apr_dir_read result. This subrequest
- * can be inspected to find information about the requested file
- * @param finfo The apr_dir_read result to lookup
- * @param r The current request
- * @param subtype What type of subrequest to perform, one of;
- * <PRE>
- * AP_SUBREQ_NO_ARGS ignore r->args and r->path_info
- * AP_SUBREQ_MERGE_ARGS merge r->args and r->path_info
- * </PRE>
- * @param next_filter The first filter the sub_request should use. If this is
- * NULL, it defaults to the first filter for the main request
- * @return The new request record
- * @deffunc request_rec * ap_sub_req_lookup_dirent(apr_finfo_t *finfo, int subtype, const request_rec *r)
- * @tip The apr_dir_read flags value APR_FINFO_MIN|APR_FINFO_NAME flag is the
- * minimum recommended query if the results will be passed to apr_dir_read.
- * The file info passed must include the name, and must have the same relative
- * directory as the current request.
- */
-AP_DECLARE(request_rec *) ap_sub_req_lookup_dirent(const apr_finfo_t *finfo,
- const request_rec *r,
- int subtype,
- ap_filter_t *next_filter);
-/**
- * Create a subrequest for the given URI using a specific method. This
- * subrequest can be inspected to find information about the requested URI
- * @param method The method to use in the new subrequest
- * @param new_uri The URI to lookup
- * @param r The current request
- * @param next_filter The first filter the sub_request should use. If this is
- * NULL, it defaults to the first filter for the main request
- * @return The new request record
- * @deffunc request_rec * ap_sub_req_method_uri(const char *method, const char *new_uri, const request_rec *r)
- */
-AP_DECLARE(request_rec *) ap_sub_req_method_uri(const char *method,
- const char *new_uri,
- const request_rec *r,
- ap_filter_t *next_filter);
-/**
- * An output filter to strip EOS buckets from sub-requests. This always
- * has to be inserted at the end of a sub-requests filter stack.
- * @param f The current filter
- * @param bb The brigade to filter
- * @deffunc apr_status_t ap_sub_req_output_filter(ap_filter_t *f, apr_bucket_brigade *bb)
- */
-AP_CORE_DECLARE_NONSTD(apr_status_t) ap_sub_req_output_filter(ap_filter_t *f,
- apr_bucket_brigade *bb);
-
-/**
- * Run the handler for the subrequest
- * @param r The subrequest to run
- * @return The return code for the subrequest
- * @deffunc int ap_run_sub_req(request_rec *r)
- */
-AP_DECLARE(int) ap_run_sub_req(request_rec *r);
-
-/**
- * Free the memory associated with a subrequest
- * @param r The subrequest to finish
- * @deffunc void ap_destroy_sub_req(request_rec *r)
- */
-AP_DECLARE(void) ap_destroy_sub_req(request_rec *r);
-
-/*
- * Then there's the case that you want some other request to be served
- * as the top-level request INSTEAD of what the client requested directly.
- * If so, call this from a handler, and then immediately return OK.
- */
-
-/**
- * Redirect the current request to some other uri
- * @param new_uri The URI to replace the current request with
- * @param r The current request
- * @deffunc void ap_internal_redirect(const char *new_uri, request_rec *r)
- */
-AP_DECLARE(void) ap_internal_redirect(const char *new_uri, request_rec *r);
-
-/**
- * This function is designed for things like actions or CGI scripts, when
- * using AddHandler, and you want to preserve the content type across
- * an internal redirect.
- * @param new_uri The URI to replace the current request with.
- * @param r The current request
- * @deffunc void ap_internal_redirect_handler(const char *new_uri, request_rec *r)
- */
-AP_DECLARE(void) ap_internal_redirect_handler(const char *new_uri, request_rec *r);
-
-/**
- * Redirect the current request to a sub_req, merging the pools
- * @param sub_req A subrequest created from this request
- * @param r The current request
- * @deffunc void ap_internal_fast_redirect(request_rec *sub_req, request_rec *r)
- * @tip the sub_req's pool will be merged into r's pool, be very careful
- * not to destroy this subrequest, it will be destroyed with the main request!
- */
-AP_DECLARE(void) ap_internal_fast_redirect(request_rec *sub_req, request_rec *r);
-
-/**
- * Can be used within any handler to determine if any authentication
- * is required for the current request
- * @param r The current request
- * @return 1 if authentication is required, 0 otherwise
- * @deffunc int ap_some_auth_required(request_rec *r)
- */
-AP_DECLARE(int) ap_some_auth_required(request_rec *r);
-
-/**
- * Determine if the current request is the main request or a subrequest
- * @param r The current request
- * @return 1 if this is the main request, 0 otherwise
- * @deffunc int ap_is_initial_req(request_rec *r)
- */
-AP_DECLARE(int) ap_is_initial_req(request_rec *r);
-
-/**
- * Function to set the r->mtime field to the specified value if it's later
- * than what's already there.
- * @param r The current request
- * @param dependency_time Time to set the mtime to
- * @deffunc void ap_update_mtime(request_rec *r, apr_time_t dependency_mtime)
- */
-AP_DECLARE(void) ap_update_mtime(request_rec *r, apr_time_t dependency_mtime);
-
-/**
- * Add one or more methods to the list permitted to access the resource.
- * Usually executed by the content handler before the response header is
- * sent, but sometimes invoked at an earlier phase if a module knows it
- * can set the list authoritatively. Note that the methods are ADDED
- * to any already permitted unless the reset flag is non-zero. The
- * list is used to generate the Allow response header field when it
- * is needed.
- * @param r The pointer to the request identifying the resource.
- * @param reset Boolean flag indicating whether this list should
- * completely replace any current settings.
- * @param ... A NULL-terminated list of strings, each identifying a
- * method name to add.
- * @return None.
- * @deffunc void ap_allow_methods(request_rec *r, int reset, ...)
- */
-AP_DECLARE(void) ap_allow_methods(request_rec *r, int reset, ...);
-
-/**
- * Add one or more methods to the list permitted to access the resource.
- * Usually executed by the content handler before the response header is
- * sent, but sometimes invoked at an earlier phase if a module knows it
- * can set the list authoritatively. Note that the methods are ADDED
- * to any already permitted unless the reset flag is non-zero. The
- * list is used to generate the Allow response header field when it
- * is needed.
- * @param r The pointer to the request identifying the resource.
- * @param reset Boolean flag indicating whether this list should
- * completely replace any current settings.
- * @param ... A list of method identifiers, from the "M_" series
- * defined in httpd.h, terminated with a value of -1
- * (e.g., "M_GET, M_POST, M_OPTIONS, -1")
- * @return None.
- * @deffunc void ap_allow_standard_methods(request_rec *r, int reset, ...)
- */
-AP_DECLARE(void) ap_allow_standard_methods(request_rec *r, int reset, ...);
-
-#define MERGE_ALLOW 0
-#define REPLACE_ALLOW 1
-
-#ifdef CORE_PRIVATE
-/* Function called by main.c to handle first-level request */
-void ap_process_request(request_rec *);
-/**
- * Kill the current request
- * @param type Why the request is dieing
- * @param r The current request
- * @deffunc void ap_die(int type, request_rec *r)
- */
-AP_DECLARE(void) ap_die(int type, request_rec *r);
-#endif
-
-/* Hooks */
-
-/**
- * Gives modules a chance to create their request_config entry when the
- * request is created.
- * @param r The current request
- * @ingroup hooks
- */
-AP_DECLARE_HOOK(int,create_request,(request_rec *r))
-
-/**
- * This hook allow modules an opportunity to translate the URI into an
- * actual filename. If no modules do anything special, the server's default
- * rules will be followed.
- * @param r The current request
- * @return OK, DECLINED, or HTTP_...
- * @ingroup hooks
- */
-AP_DECLARE_HOOK(int,translate_name,(request_rec *r))
-
-/**
- * This hook allow modules to set the per_dir_config based on their own
- * context (such as <Proxy > sections) and responds to contextless requests
- * such as TRACE that need no security or filesystem mapping.
- * based on the filesystem.
- * @param r The current request
- * @return DONE (or HTTP_) if this contextless request was just fulfilled
- * (such as TRACE), OK if this is not a file, and DECLINED if this is a file.
- * The core map_to_storage (HOOK_RUN_REALLY_LAST) will directory_walk
- * and file_walk the r->filename.
- *
- * @ingroup hooks
- */
-AP_DECLARE_HOOK(int,map_to_storage,(request_rec *r))
-
-/**
- * This hook is used to analyze the request headers, authenticate the user,
- * and set the user information in the request record (r->user and
- * r->ap_auth_type). This hook is only run when Apache determines that
- * authentication/authorization is required for this resource (as determined
- * by the 'Require' directive). It runs after the access_checker hook, and
- * before the auth_checker hook.
- *
- * @param r The current request
- * @return OK, DECLINED, or HTTP_...
- * @ingroup hooks
- */
-AP_DECLARE_HOOK(int,check_user_id,(request_rec *r))
-
-/**
- * Allows modules to perform module-specific fixing of header fields. This
- * is invoked just before any content-handler
- * @param r The current request
- * @return OK, DECLINED, or HTTP_...
- * @ingroup hooks
- */
-AP_DECLARE_HOOK(int,fixups,(request_rec *r))
-
-/**
- * This routine is called to determine and/or set the various document type
- * information bits, like Content-type (via r->content_type), language, et
- * cetera.
- * @param r the current request
- * @return OK, DECLINED, or HTTP_...
- * @ingroup hooks
- */
-AP_DECLARE_HOOK(int,type_checker,(request_rec *r))
-
-/**
- * This hook is used to apply additional access control to this resource.
- * It runs *before* a user is authenticated, so this hook is really to
- * apply additional restrictions independent of a user. It also runs
- * independent of 'Require' directive usage.
- *
- * @param r the current request
- * @return OK, DECLINED, or HTTP_...
- * @ingroup hooks
- */
-AP_DECLARE_HOOK(int,access_checker,(request_rec *r))
-
-/**
- * This hook is used to check to see if the resource being requested
- * is available for the authenticated user (r->user and r->ap_auth_type).
- * It runs after the access_checker and check_user_id hooks. Note that
- * it will *only* be called if Apache determines that access control has
- * been applied to this resource (through a 'Require' directive).
- *
- * @param r the current request
- * @return OK, DECLINED, or HTTP_...
- * @ingroup hooks
- */
-AP_DECLARE_HOOK(int,auth_checker,(request_rec *r))
-
-/**
- * This hook allows modules to insert filters for the current request
- * @param r the current request
- * @ingroup hooks
- */
-AP_DECLARE_HOOK(void,insert_filter,(request_rec *r))
-
-AP_DECLARE(int) ap_location_walk(request_rec *r);
-AP_DECLARE(int) ap_directory_walk(request_rec *r);
-AP_DECLARE(int) ap_file_walk(request_rec *r);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !APACHE_HTTP_REQUEST_H */
diff --git a/rubbos/app/apache2/include/http_vhost.h b/rubbos/app/apache2/include/http_vhost.h
deleted file mode 100644
index 1acfd95f..00000000
--- a/rubbos/app/apache2/include/http_vhost.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/* 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 APACHE_HTTP_VHOST_H
-#define APACHE_HTTP_VHOST_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @package Virtual Host package
- */
-
-/**
- * called before any config is read
- * @param p Pool to allocate out of
- */
-AP_DECLARE(void) ap_init_vhost_config(apr_pool_t *p);
-
-/**
- * called after the config has been read to compile the tables needed to do
- * the run-time vhost lookups
- * @param p The pool to allocate out of
- * @param main_server The start of the virtual host list
- * @deffunc ap_fini_vhost_config(apr_pool_t *p, server_rec *main_server)
- */
-AP_DECLARE(void) ap_fini_vhost_config(apr_pool_t *p, server_rec *main_server);
-
-/**
- * handle addresses in <VirtualHost> statement
- * @param p The pool to allocate out of
- * @param hostname The hostname in the VirtualHost statement
- * @param s The list of Virtual Hosts.
- */
-const char *ap_parse_vhost_addrs(apr_pool_t *p, const char *hostname, server_rec *s);
-
-/* handle NameVirtualHost directive */
-const char *ap_set_name_virtual_host (cmd_parms *cmd, void *dummy,
- const char *arg);
-
-/**
- * Callback function for every Name Based Virtual Host.
- * @param baton Opaque user object
- * @param conn The current Connection
- * @param s The current Server
- * @see ap_vhost_iterate_given_conn
- * @return 0 on success, any non-zero return will stop the iteration.
- */
-typedef int(*ap_vhost_iterate_conn_cb)(void* baton, conn_rec* conn, server_rec* s);
-
-/**
- * For every virtual host on this connection, call func_cb.
- * @param conn The current connection
- * @param func_cb Function called for every Name Based Virtual Host for this
- * connection.
- * @param baton Opaque object passed to func_cb.
- * @return The return value from func_cb.
- * @note If func_cb returns non-zero, the function will return at this point,
- * and not continue iterating the virtual hosts.
- */
-AP_DECLARE(int) ap_vhost_iterate_given_conn(conn_rec *conn,
- ap_vhost_iterate_conn_cb func_cb,
- void* baton);
-
-/**
- * given an ip address only, give our best guess as to what vhost it is
- * @param conn The current connection
- */
-AP_DECLARE(void) ap_update_vhost_given_ip(conn_rec *conn);
-
-/**
- * ap_update_vhost_given_ip is never enough, and this is always called after
- * the headers have been read. It may change r->server.
- * @param r The current request
- */
-AP_DECLARE(void) ap_update_vhost_from_headers(request_rec *r);
-
-/**
- * Match the host in the header with the hostname of the server for this
- * request.
- * @param r The current request
- * @param host The hostname in the headers
- * @param port The port from the headers
- * @return return 1 if the host:port matches any of the aliases of r->server,
- * return 0 otherwise
- * @deffunc int ap_matches_request_vhost(request_rec *r, const char *host, apr_port_t port)
- */
-AP_DECLARE(int) ap_matches_request_vhost(request_rec *r, const char *host,
- apr_port_t port);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !APACHE_HTTP_VHOST_H */
diff --git a/rubbos/app/apache2/include/httpd.h b/rubbos/app/apache2/include/httpd.h
deleted file mode 100644
index 4ad2df22..00000000
--- a/rubbos/app/apache2/include/httpd.h
+++ /dev/null
@@ -1,1760 +0,0 @@
-/* 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 APACHE_HTTPD_H
-#define APACHE_HTTPD_H
-
-/**
- * @file httpd.h
- * @brief HTTP Daemon routines
- */
-
-/* XXX - We need to push more stuff to other .h files, or even .c files, to
- * make this file smaller
- */
-
-/* Headers in which EVERYONE has an interest... */
-#include "ap_config.h"
-#include "ap_mmn.h"
-
-#include "ap_release.h"
-
-#include "apr_general.h"
-#include "apr_tables.h"
-#include "apr_pools.h"
-#include "apr_time.h"
-#include "apr_network_io.h"
-#include "apr_buckets.h"
-
-#include "os.h"
-
-#include "pcreposix.h"
-
-/* Note: util_uri.h is also included, see below */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef CORE_PRIVATE
-
-/* ----------------------------- config dir ------------------------------ */
-
-/* Define this to be the default server home dir. Most things later in this
- * file with a relative pathname will have this added.
- */
-#ifndef HTTPD_ROOT
-#ifdef OS2
-/* Set default for OS/2 file system */
-#define HTTPD_ROOT "/os2httpd"
-#elif defined(WIN32)
-/* Set default for Windows file system */
-#define HTTPD_ROOT "/apache"
-#elif defined (BEOS)
-/* Set the default for BeOS */
-#define HTTPD_ROOT "/boot/home/apache"
-#elif defined (NETWARE)
-/* Set the default for NetWare */
-#define HTTPD_ROOT "/apache"
-#else
-#define HTTPD_ROOT "/usr/local/apache"
-#endif
-#endif /* HTTPD_ROOT */
-
-/*
- * --------- You shouldn't have to edit anything below this line ----------
- *
- * Any modifications to any defaults not defined above should be done in the
- * respective configuration file.
- *
- */
-
-/* Default location of documents. Can be overridden by the DocumentRoot
- * directive.
- */
-#ifndef DOCUMENT_LOCATION
-#ifdef OS2
-/* Set default for OS/2 file system */
-#define DOCUMENT_LOCATION HTTPD_ROOT "/docs"
-#else
-#define DOCUMENT_LOCATION HTTPD_ROOT "/htdocs"
-#endif
-#endif /* DOCUMENT_LOCATION */
-
-/* Maximum number of dynamically loaded modules */
-#ifndef DYNAMIC_MODULE_LIMIT
-#define DYNAMIC_MODULE_LIMIT 64
-#endif
-
-/* Default administrator's address */
-#define DEFAULT_ADMIN "[no address given]"
-
-/* The name of the log files */
-#ifndef DEFAULT_ERRORLOG
-#if defined(OS2) || defined(WIN32)
-#define DEFAULT_ERRORLOG "logs/error.log"
-#else
-#define DEFAULT_ERRORLOG "logs/error_log"
-#endif
-#endif /* DEFAULT_ERRORLOG */
-
-/* Define this to be what your per-directory security files are called */
-#ifndef DEFAULT_ACCESS_FNAME
-#ifdef OS2
-/* Set default for OS/2 file system */
-#define DEFAULT_ACCESS_FNAME "htaccess"
-#else
-#define DEFAULT_ACCESS_FNAME ".htaccess"
-#endif
-#endif /* DEFAULT_ACCESS_FNAME */
-
-/* The name of the server config file */
-#ifndef SERVER_CONFIG_FILE
-#define SERVER_CONFIG_FILE "conf/httpd.conf"
-#endif
-
-/* Whether we should enable rfc1413 identity checking */
-#ifndef DEFAULT_RFC1413
-#define DEFAULT_RFC1413 0
-#endif
-
-/* The default path for CGI scripts if none is currently set */
-#ifndef DEFAULT_PATH
-#define DEFAULT_PATH "/bin:/usr/bin:/usr/ucb:/usr/bsd:/usr/local/bin"
-#endif
-
-/* The path to the suExec wrapper, can be overridden in Configuration */
-#ifndef SUEXEC_BIN
-#define SUEXEC_BIN HTTPD_ROOT "/bin/suexec"
-#endif
-
-/* The timeout for waiting for messages */
-#ifndef DEFAULT_TIMEOUT
-#define DEFAULT_TIMEOUT 300
-#endif
-
-/* The timeout for waiting for keepalive timeout until next request */
-#ifndef DEFAULT_KEEPALIVE_TIMEOUT
-#define DEFAULT_KEEPALIVE_TIMEOUT 15
-#endif
-
-/* The number of requests to entertain per connection */
-#ifndef DEFAULT_KEEPALIVE
-#define DEFAULT_KEEPALIVE 100
-#endif
-
-/* Limits on the size of various request items. These limits primarily
- * exist to prevent simple denial-of-service attacks on a server based
- * on misuse of the protocol. The recommended values will depend on the
- * nature of the server resources -- CGI scripts and database backends
- * might require large values, but most servers could get by with much
- * smaller limits than we use below. The request message body size can
- * be limited by the per-dir config directive LimitRequestBody.
- *
- * Internal buffer sizes are two bytes more than the DEFAULT_LIMIT_REQUEST_LINE
- * and DEFAULT_LIMIT_REQUEST_FIELDSIZE below, which explains the 8190.
- * These two limits can be lowered (but not raised) by the server config
- * directives LimitRequestLine and LimitRequestFieldsize, respectively.
- *
- * DEFAULT_LIMIT_REQUEST_FIELDS can be modified or disabled (set = 0) by
- * the server config directive LimitRequestFields.
- */
-#ifndef DEFAULT_LIMIT_REQUEST_LINE
-#define DEFAULT_LIMIT_REQUEST_LINE 8190
-#endif /* default limit on bytes in Request-Line (Method+URI+HTTP-version) */
-#ifndef DEFAULT_LIMIT_REQUEST_FIELDSIZE
-#define DEFAULT_LIMIT_REQUEST_FIELDSIZE 8190
-#endif /* default limit on bytes in any one header field */
-#ifndef DEFAULT_LIMIT_REQUEST_FIELDS
-#define DEFAULT_LIMIT_REQUEST_FIELDS 100
-#endif /* default limit on number of request header fields */
-
-
-/**
- * The default default character set name to add if AddDefaultCharset is
- * enabled. Overridden with AddDefaultCharsetName.
- */
-#define DEFAULT_ADD_DEFAULT_CHARSET_NAME "iso-8859-1"
-
-#endif /* CORE_PRIVATE */
-
-/** default HTTP Server protocol */
-#define AP_SERVER_PROTOCOL "HTTP/1.1"
-
-
-/* ------------------ stuff that modules are allowed to look at ----------- */
-
-/** Define this to be what your HTML directory content files are called */
-#ifndef AP_DEFAULT_INDEX
-#define AP_DEFAULT_INDEX "index.html"
-#endif
-
-
-/**
- * Define this to be what type you'd like returned for files with unknown
- * suffixes.
- * @warning MUST be all lower case.
- */
-#ifndef DEFAULT_CONTENT_TYPE
-#define DEFAULT_CONTENT_TYPE "text/plain"
-#endif
-
-/** The name of the MIME types file */
-#ifndef AP_TYPES_CONFIG_FILE
-#define AP_TYPES_CONFIG_FILE "conf/mime.types"
-#endif
-
-/*
- * Define the HTML doctype strings centrally.
- */
-/** HTML 2.0 Doctype */
-#define DOCTYPE_HTML_2_0 "<!DOCTYPE HTML PUBLIC \"-//IETF//" \
- "DTD HTML 2.0//EN\">\n"
-/** HTML 3.2 Doctype */
-#define DOCTYPE_HTML_3_2 "<!DOCTYPE HTML PUBLIC \"-//W3C//" \
- "DTD HTML 3.2 Final//EN\">\n"
-/** HTML 4.0 Strict Doctype */
-#define DOCTYPE_HTML_4_0S "<!DOCTYPE HTML PUBLIC \"-//W3C//" \
- "DTD HTML 4.0//EN\"\n" \
- "\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
-/** HTML 4.0 Transitional Doctype */
-#define DOCTYPE_HTML_4_0T "<!DOCTYPE HTML PUBLIC \"-//W3C//" \
- "DTD HTML 4.0 Transitional//EN\"\n" \
- "\"http://www.w3.org/TR/REC-html40/loose.dtd\">\n"
-/** HTML 4.0 Frameset Doctype */
-#define DOCTYPE_HTML_4_0F "<!DOCTYPE HTML PUBLIC \"-//W3C//" \
- "DTD HTML 4.0 Frameset//EN\"\n" \
- "\"http://www.w3.org/TR/REC-html40/frameset.dtd\">\n"
-/** XHTML 1.0 Strict Doctype */
-#define DOCTYPE_XHTML_1_0S "<!DOCTYPE html PUBLIC \"-//W3C//" \
- "DTD XHTML 1.0 Strict//EN\"\n" \
- "\"http://www.w3.org/TR/xhtml1/DTD/" \
- "xhtml1-strict.dtd\">\n"
-/** XHTML 1.0 Transitional Doctype */
-#define DOCTYPE_XHTML_1_0T "<!DOCTYPE html PUBLIC \"-//W3C//" \
- "DTD XHTML 1.0 Transitional//EN\"\n" \
- "\"http://www.w3.org/TR/xhtml1/DTD/" \
- "xhtml1-transitional.dtd\">\n"
-/** XHTML 1.0 Frameset Doctype */
-#define DOCTYPE_XHTML_1_0F "<!DOCTYPE html PUBLIC \"-//W3C//" \
- "DTD XHTML 1.0 Frameset//EN\"\n" \
- "\"http://www.w3.org/TR/xhtml1/DTD/" \
- "xhtml1-frameset.dtd\">"
-
-/** Internal representation for a HTTP protocol number, e.g., HTTP/1.1 */
-
-#define HTTP_VERSION(major,minor) (1000*(major)+(minor))
-/** Major part of HTTP protocol */
-#define HTTP_VERSION_MAJOR(number) ((number)/1000)
-/** Minor part of HTTP protocol */
-#define HTTP_VERSION_MINOR(number) ((number)%1000)
-
-/* -------------- Port number for server running standalone --------------- */
-
-/** default HTTP Port */
-#define DEFAULT_HTTP_PORT 80
-/** default HTTPS Port */
-#define DEFAULT_HTTPS_PORT 443
-/**
- * Check whether @a port is the default port for the request @a r.
- * @param port The port number
- * @param r The request
- * @see #ap_default_port
- */
-#define ap_is_default_port(port,r) ((port) == ap_default_port(r))
-/**
- * Get the default port for a request (which depends on the scheme).
- * @param r The request
- */
-#define ap_default_port(r) ap_run_default_port(r)
-/**
- * Get the scheme for a request.
- * @param r The request
- * @bug This should be called ap_http_scheme!
- */
-#define ap_http_method(r) ap_run_http_method(r)
-
-/** The default string lengths */
-#define MAX_STRING_LEN HUGE_STRING_LEN
-#define HUGE_STRING_LEN 8192
-
-/** The size of the server's internal read-write buffers */
-#define AP_IOBUFSIZE 8192
-
-/** The max number of regex captures that can be expanded by ap_pregsub */
-#define AP_MAX_REG_MATCH 10
-
-/**
- * APR_HAS_LARGE_FILES introduces the problem of spliting sendfile into
- * mutiple buckets, no greater than MAX(apr_size_t), and more granular
- * than that in case the brigade code/filters attempt to read it directly.
- * ### 16mb is an invention, no idea if it is reasonable.
- */
-#define AP_MAX_SENDFILE 16777216 /* 2^24 */
-
-/**
- * Special Apache error codes. These are basically used
- * in http_main.c so we can keep track of various errors.
- *
- */
-/** a normal exit */
-#define APEXIT_OK 0x0
-/** A fatal error arising during the server's init sequence */
-#define APEXIT_INIT 0x2
-/** The child died during its init sequence */
-#define APEXIT_CHILDINIT 0x3
-/**
- * The child exited due to a resource shortage.
- * The parent should limit the rate of forking until
- * the situation is resolved.
- */
-#define APEXIT_CHILDSICK 0x7
-/**
- * A fatal error, resulting in the whole server aborting.
- * If a child exits with this error, the parent process
- * considers this a server-wide fatal error and aborts.
- */
-#define APEXIT_CHILDFATAL 0xf
-
-#ifndef AP_DECLARE
-/**
- * Stuff marked #AP_DECLARE is part of the API, and intended for use
- * by modules. Its purpose is to allow us to add attributes that
- * particular platforms or compilers require to every exported function.
- */
-# define AP_DECLARE(type) type
-#endif
-
-#ifndef AP_DECLARE_NONSTD
-/**
- * Stuff marked #AP_DECLARE_NONSTD is part of the API, and intended for
- * use by modules. The difference between #AP_DECLARE and
- * #AP_DECLARE_NONSTD is that the latter is required for any functions
- * which use varargs or are used via indirect function call. This
- * is to accomodate the two calling conventions in windows dlls.
- */
-# define AP_DECLARE_NONSTD(type) type
-#endif
-#ifndef AP_DECLARE_DATA
-# define AP_DECLARE_DATA
-#endif
-
-#ifndef AP_MODULE_DECLARE
-# define AP_MODULE_DECLARE(type) type
-#endif
-#ifndef AP_MODULE_DECLARE_NONSTD
-# define AP_MODULE_DECLARE_NONSTD(type) type
-#endif
-#ifndef AP_MODULE_DECLARE_DATA
-# define AP_MODULE_DECLARE_DATA
-#endif
-
-/**
- * @internal
- * modules should not used functions marked AP_CORE_DECLARE
- */
-#ifndef AP_CORE_DECLARE
-# define AP_CORE_DECLARE AP_DECLARE
-#endif
-/**
- * @internal
- * modules should not used functions marked AP_CORE_DECLARE_NONSTD
- */
-
-#ifndef AP_CORE_DECLARE_NONSTD
-# define AP_CORE_DECLARE_NONSTD AP_DECLARE_NONSTD
-#endif
-
-/**
- * The numeric version information is broken out into fields within this
- * structure.
- */
-typedef struct {
- int major; /**< major number */
- int minor; /**< minor number */
- int patch; /**< patch number */
- const char *add_string; /**< additional string like "-dev" */
-} ap_version_t;
-
-/**
- * Return httpd's version information in a numeric form.
- *
- * @param version Pointer to a version structure for returning the version
- * information.
- */
-AP_DECLARE(void) ap_get_server_revision(ap_version_t *version);
-
-/**
- * Get the server version string
- * @return The server version string
- */
-AP_DECLARE(const char *) ap_get_server_version(void);
-
-/**
- * Add a component to the version string
- * @param pconf The pool to allocate the component from
- * @param component The string to add
- */
-AP_DECLARE(void) ap_add_version_component(apr_pool_t *pconf, const char *component);
-
-/**
- * Get the date a time that the server was built
- * @return The server build time string
- */
-AP_DECLARE(const char *) ap_get_server_built(void);
-
-#define DECLINED -1 /**< Module declines to handle */
-#define DONE -2 /**< Module has served the response completely
- * - it's safe to die() with no more output
- */
-#define OK 0 /**< Module has handled this stage. */
-
-
-/**
- * @defgroup HTTP_Status HTTP Status Codes
- * @{
- */
-/**
- * The size of the static array in http_protocol.c for storing
- * all of the potential response status-lines (a sparse table).
- * A future version should dynamically generate the apr_table_t at startup.
- */
-#define RESPONSE_CODES 57
-
-#define HTTP_CONTINUE 100
-#define HTTP_SWITCHING_PROTOCOLS 101
-#define HTTP_PROCESSING 102
-#define HTTP_OK 200
-#define HTTP_CREATED 201
-#define HTTP_ACCEPTED 202
-#define HTTP_NON_AUTHORITATIVE 203
-#define HTTP_NO_CONTENT 204
-#define HTTP_RESET_CONTENT 205
-#define HTTP_PARTIAL_CONTENT 206
-#define HTTP_MULTI_STATUS 207
-#define HTTP_MULTIPLE_CHOICES 300
-#define HTTP_MOVED_PERMANENTLY 301
-#define HTTP_MOVED_TEMPORARILY 302
-#define HTTP_SEE_OTHER 303
-#define HTTP_NOT_MODIFIED 304
-#define HTTP_USE_PROXY 305
-#define HTTP_TEMPORARY_REDIRECT 307
-#define HTTP_BAD_REQUEST 400
-#define HTTP_UNAUTHORIZED 401
-#define HTTP_PAYMENT_REQUIRED 402
-#define HTTP_FORBIDDEN 403
-#define HTTP_NOT_FOUND 404
-#define HTTP_METHOD_NOT_ALLOWED 405
-#define HTTP_NOT_ACCEPTABLE 406
-#define HTTP_PROXY_AUTHENTICATION_REQUIRED 407
-#define HTTP_REQUEST_TIME_OUT 408
-#define HTTP_CONFLICT 409
-#define HTTP_GONE 410
-#define HTTP_LENGTH_REQUIRED 411
-#define HTTP_PRECONDITION_FAILED 412
-#define HTTP_REQUEST_ENTITY_TOO_LARGE 413
-#define HTTP_REQUEST_URI_TOO_LARGE 414
-#define HTTP_UNSUPPORTED_MEDIA_TYPE 415
-#define HTTP_RANGE_NOT_SATISFIABLE 416
-#define HTTP_EXPECTATION_FAILED 417
-#define HTTP_UNPROCESSABLE_ENTITY 422
-#define HTTP_LOCKED 423
-#define HTTP_FAILED_DEPENDENCY 424
-#define HTTP_UPGRADE_REQUIRED 426
-#define HTTP_INTERNAL_SERVER_ERROR 500
-#define HTTP_NOT_IMPLEMENTED 501
-#define HTTP_BAD_GATEWAY 502
-#define HTTP_SERVICE_UNAVAILABLE 503
-#define HTTP_GATEWAY_TIME_OUT 504
-#define HTTP_VERSION_NOT_SUPPORTED 505
-#define HTTP_VARIANT_ALSO_VARIES 506
-#define HTTP_INSUFFICIENT_STORAGE 507
-#define HTTP_NOT_EXTENDED 510
-
-/** is the status code informational */
-#define ap_is_HTTP_INFO(x) (((x) >= 100)&&((x) < 200))
-/** is the status code OK ?*/
-#define ap_is_HTTP_SUCCESS(x) (((x) >= 200)&&((x) < 300))
-/** is the status code a redirect */
-#define ap_is_HTTP_REDIRECT(x) (((x) >= 300)&&((x) < 400))
-/** is the status code a error (client or server) */
-#define ap_is_HTTP_ERROR(x) (((x) >= 400)&&((x) < 600))
-/** is the status code a client error */
-#define ap_is_HTTP_CLIENT_ERROR(x) (((x) >= 400)&&((x) < 500))
-/** is the status code a server error */
-#define ap_is_HTTP_SERVER_ERROR(x) (((x) >= 500)&&((x) < 600))
-
-/** should the status code drop the connection */
-#define ap_status_drops_connection(x) \
- (((x) == HTTP_BAD_REQUEST) || \
- ((x) == HTTP_REQUEST_TIME_OUT) || \
- ((x) == HTTP_LENGTH_REQUIRED) || \
- ((x) == HTTP_REQUEST_ENTITY_TOO_LARGE) || \
- ((x) == HTTP_REQUEST_URI_TOO_LARGE) || \
- ((x) == HTTP_INTERNAL_SERVER_ERROR) || \
- ((x) == HTTP_SERVICE_UNAVAILABLE) || \
- ((x) == HTTP_NOT_IMPLEMENTED))
-/** @} */
-/**
- * @defgroup Methods List of Methods recognized by the server
- * @{
- */
-/**
- * Methods recognized (but not necessarily handled) by the server.
- * These constants are used in bit shifting masks of size int, so it is
- * unsafe to have more methods than bits in an int. HEAD == M_GET.
- * This list must be tracked by the list in http_protocol.c in routine
- * ap_method_name_of().
- */
-#define M_GET 0 /* RFC 2616: HTTP */
-#define M_PUT 1 /* : */
-#define M_POST 2
-#define M_DELETE 3
-#define M_CONNECT 4
-#define M_OPTIONS 5
-#define M_TRACE 6 /* RFC 2616: HTTP */
-#define M_PATCH 7 /* no rfc(!) ### remove this one? */
-#define M_PROPFIND 8 /* RFC 2518: WebDAV */
-#define M_PROPPATCH 9 /* : */
-#define M_MKCOL 10
-#define M_COPY 11
-#define M_MOVE 12
-#define M_LOCK 13
-#define M_UNLOCK 14 /* RFC 2518: WebDAV */
-#define M_VERSION_CONTROL 15 /* RFC 3253: WebDAV Versioning */
-#define M_CHECKOUT 16 /* : */
-#define M_UNCHECKOUT 17
-#define M_CHECKIN 18
-#define M_UPDATE 19
-#define M_LABEL 20
-#define M_REPORT 21
-#define M_MKWORKSPACE 22
-#define M_MKACTIVITY 23
-#define M_BASELINE_CONTROL 24
-#define M_MERGE 25
-#define M_INVALID 26 /* RFC 3253: WebDAV Versioning */
-
-/**
- * METHODS needs to be equal to the number of bits
- * we are using for limit masks.
- */
-#define METHODS 64
-
-/**
- * The method mask bit to shift for anding with a bitmask.
- */
-#define AP_METHOD_BIT ((apr_int64_t)1)
-/** @} */
-
-
-/**
- * Structure for handling HTTP methods. Methods known to the server are
- * accessed via a bitmask shortcut; extension methods are handled by
- * an array.
- */
-typedef struct ap_method_list_t ap_method_list_t;
-struct ap_method_list_t {
- /* The bitmask used for known methods */
- apr_int64_t method_mask;
- /* the array used for extension methods */
- apr_array_header_t *method_list;
-};
-/**
- * @defgroup module_magic Module Magic mime types
- * @{
- */
-/** Magic for mod_cgi[d] */
-#define CGI_MAGIC_TYPE "application/x-httpd-cgi"
-/** Magic for mod_include */
-#define INCLUDES_MAGIC_TYPE "text/x-server-parsed-html"
-/** Magic for mod_include */
-#define INCLUDES_MAGIC_TYPE3 "text/x-server-parsed-html3"
-/** Magic for mod_dir */
-#define DIR_MAGIC_TYPE "httpd/unix-directory"
-
-/** @} */
-/* Just in case your linefeed isn't the one the other end is expecting. */
-#if !APR_CHARSET_EBCDIC
-/** linefeed */
-#define LF 10
-/** carrige return */
-#define CR 13
-/** carrige return /Line Feed Combo */
-#define CRLF "\015\012"
-#else /* APR_CHARSET_EBCDIC */
-/* For platforms using the EBCDIC charset, the transition ASCII->EBCDIC is done
- * in the buff package (bread/bputs/bwrite). Everywhere else, we use
- * "native EBCDIC" CR and NL characters. These are therefore
- * defined as
- * '\r' and '\n'.
- */
-#define CR '\r'
-#define LF '\n'
-#define CRLF "\r\n"
-#endif /* APR_CHARSET_EBCDIC */
-
-/**
- * @defgroup values_request_rec_body Possible values for request_rec.read_body
- * @{
- * Possible values for request_rec.read_body (set by handling module):
- */
-
-/** Send 413 error if message has any body */
-#define REQUEST_NO_BODY 0
-/** Send 411 error if body without Content-Length */
-#define REQUEST_CHUNKED_ERROR 1
-/** If chunked, remove the chunks for me. */
-#define REQUEST_CHUNKED_DECHUNK 2
-/** @} */
-
-/**
- * @defgroup values_request_rec_used_path_info Possible values for request_rec.used_path_info
- * @{
- * Possible values for request_rec.used_path_info:
- */
-
-/** Accept the path_info from the request */
-#define AP_REQ_ACCEPT_PATH_INFO 0
-/** Return a 404 error if path_info was given */
-#define AP_REQ_REJECT_PATH_INFO 1
-/** Module may chose to use the given path_info */
-#define AP_REQ_DEFAULT_PATH_INFO 2
-/** @} */
-
-/*
- * Things which may vary per file-lookup WITHIN a request ---
- * e.g., state of MIME config. Basically, the name of an object, info
- * about the object, and any other info we may ahve which may need to
- * change as we go poking around looking for it (e.g., overridden by
- * .htaccess files).
- *
- * Note how the default state of almost all these things is properly
- * zero, so that allocating it with pcalloc does the right thing without
- * a whole lot of hairy initialization... so long as we are willing to
- * make the (fairly) portable assumption that the bit pattern of a NULL
- * pointer is, in fact, zero.
- */
-
-/**
- * This represents the result of calling htaccess; these are cached for
- * each request.
- */
-struct htaccess_result {
- /** the directory to which this applies */
- const char *dir;
- /** the overrides allowed for the .htaccess file */
- int override;
- /** the configuration directives */
- struct ap_conf_vector_t *htaccess;
- /** the next one, or NULL if no more; N.B. never change this */
- const struct htaccess_result *next;
-};
-
-/* The following four types define a hierarchy of activities, so that
- * given a request_rec r you can write r->connection->server->process
- * to get to the process_rec. While this reduces substantially the
- * number of arguments that various hooks require beware that in
- * threaded versions of the server you must consider multiplexing
- * issues. */
-
-
-/** A structure that represents one process */
-typedef struct process_rec process_rec;
-/** A structure that represents a virtual server */
-typedef struct server_rec server_rec;
-/** A structure that represents one connection */
-typedef struct conn_rec conn_rec;
-/** A structure that represents the current request */
-typedef struct request_rec request_rec;
-
-/* ### would be nice to not include this from httpd.h ... */
-/* This comes after we have defined the request_rec type */
-#include "apr_uri.h"
-
-/** A structure that represents one process */
-struct process_rec {
- /** Global pool. Cleared upon normal exit */
- apr_pool_t *pool;
- /** Configuration pool. Cleared upon restart */
- apr_pool_t *pconf;
- /** Number of command line arguments passed to the program */
- int argc;
- /** The command line arguments */
- const char * const *argv;
- /** The program name used to execute the program */
- const char *short_name;
-};
-
-/** A structure that represents the current request */
-struct request_rec {
- /** The pool associated with the request */
- apr_pool_t *pool;
- /** The connection to the client */
- conn_rec *connection;
- /** The virtual host for this request */
- server_rec *server;
-
- /** Pointer to the redirected request if this is an external redirect */
- request_rec *next;
- /** Pointer to the previous request if this is an internal redirect */
- request_rec *prev;
-
- /** Pointer to the main request if this is a sub-request
- * (see http_request.h) */
- request_rec *main;
-
- /* Info about the request itself... we begin with stuff that only
- * protocol.c should ever touch...
- */
- /** First line of request */
- char *the_request;
- /** HTTP/0.9, "simple" request (e.g. GET /foo\n w/no headers) */
- int assbackwards;
- /** A proxy request (calculated during post_read_request/translate_name)
- * possible values PROXYREQ_NONE, PROXYREQ_PROXY, PROXYREQ_REVERSE,
- * PROXYREQ_RESPONSE
- */
- int proxyreq;
- /** HEAD request, as opposed to GET */
- int header_only;
- /** Protocol string, as given to us, or HTTP/0.9 */
- char *protocol;
- /** Protocol version number of protocol; 1.1 = 1001 */
- int proto_num;
- /** Host, as set by full URI or Host: */
- const char *hostname;
-
- /** Time when the request started */
- apr_time_t request_time;
-
- /** Status line, if set by script */
- const char *status_line;
- /** Status line */
- int status;
-
- /* Request method, two ways; also, protocol, etc.. Outside of protocol.c,
- * look, but don't touch.
- */
-
- /** Request method (eg. GET, HEAD, POST, etc.) */
- const char *method;
- /** M_GET, M_POST, etc. */
- int method_number;
-
- /**
- * 'allowed' is a bitvector of the allowed methods.
- *
- * A handler must ensure that the request method is one that
- * it is capable of handling. Generally modules should DECLINE
- * any request methods they do not handle. Prior to aborting the
- * handler like this the handler should set r->allowed to the list
- * of methods that it is willing to handle. This bitvector is used
- * to construct the "Allow:" header required for OPTIONS requests,
- * and HTTP_METHOD_NOT_ALLOWED and HTTP_NOT_IMPLEMENTED status codes.
- *
- * Since the default_handler deals with OPTIONS, all modules can
- * usually decline to deal with OPTIONS. TRACE is always allowed,
- * modules don't need to set it explicitly.
- *
- * Since the default_handler will always handle a GET, a
- * module which does *not* implement GET should probably return
- * HTTP_METHOD_NOT_ALLOWED. Unfortunately this means that a Script GET
- * handler can't be installed by mod_actions.
- */
- apr_int64_t allowed;
- /** Array of extension methods */
- apr_array_header_t *allowed_xmethods;
- /** List of allowed methods */
- ap_method_list_t *allowed_methods;
-
- /** byte count in stream is for body */
- apr_off_t sent_bodyct;
- /** body byte count, for easy access */
- apr_off_t bytes_sent;
- /** Last modified time of the requested resource */
- apr_time_t mtime;
-
- /* HTTP/1.1 connection-level features */
-
- /** sending chunked transfer-coding */
- int chunked;
- /** The Range: header */
- const char *range;
- /** The "real" content length */
- apr_off_t clength;
-
- /** Remaining bytes left to read from the request body */
- apr_off_t remaining;
- /** Number of bytes that have been read from the request body */
- apr_off_t read_length;
- /** Method for reading the request body
- * (eg. REQUEST_CHUNKED_ERROR, REQUEST_NO_BODY,
- * REQUEST_CHUNKED_DECHUNK, etc...) */
- int read_body;
- /** reading chunked transfer-coding */
- int read_chunked;
- /** is client waiting for a 100 response? */
- unsigned expecting_100;
-
- /* MIME header environments, in and out. Also, an array containing
- * environment variables to be passed to subprocesses, so people can
- * write modules to add to that environment.
- *
- * The difference between headers_out and err_headers_out is that the
- * latter are printed even on error, and persist across internal redirects
- * (so the headers printed for ErrorDocument handlers will have them).
- *
- * The 'notes' apr_table_t is for notes from one module to another, with no
- * other set purpose in mind...
- */
-
- /** MIME header environment from the request */
- apr_table_t *headers_in;
- /** MIME header environment for the response */
- apr_table_t *headers_out;
- /** MIME header environment for the response, printed even on errors and
- * persist across internal redirects */
- apr_table_t *err_headers_out;
- /** Array of environment variables to be used for sub processes */
- apr_table_t *subprocess_env;
- /** Notes from one module to another */
- apr_table_t *notes;
-
- /* content_type, handler, content_encoding, and all content_languages
- * MUST be lowercased strings. They may be pointers to static strings;
- * they should not be modified in place.
- */
- /** The content-type for the current request */
- const char *content_type; /* Break these out --- we dispatch on 'em */
- /** The handler string that we use to call a handler function */
- const char *handler; /* What we *really* dispatch on */
-
- /** How to encode the data */
- const char *content_encoding;
- /** Array of strings representing the content languages */
- apr_array_header_t *content_languages;
-
- /** variant list validator (if negotiated) */
- char *vlist_validator;
-
- /** If an authentication check was made, this gets set to the user name. */
- char *user;
- /** If an authentication check was made, this gets set to the auth type. */
- char *ap_auth_type;
-
- /** This response can not be cached */
- int no_cache;
- /** There is no local copy of this response */
- int no_local_copy;
-
- /* What object is being requested (either directly, or via include
- * or content-negotiation mapping).
- */
-
- /** The URI without any parsing performed */
- char *unparsed_uri;
- /** The path portion of the URI, or "/" if no path provided */
- char *uri;
- /** The filename on disk corresponding to this response */
- char *filename;
- /* XXX: What does this mean? Please define "canonicalize" -aaron */
- /** The true filename, we canonicalize r->filename if these don't match */
- char *canonical_filename;
- /** The PATH_INFO extracted from this request */
- char *path_info;
- /** The QUERY_ARGS extracted from this request */
- char *args;
- /** finfo.protection (st_mode) set to zero if no such file */
- apr_finfo_t finfo;
- /** A struct containing the components of URI */
- apr_uri_t parsed_uri;
-
- /**
- * Flag for the handler to accept or reject path_info on
- * the current request. All modules should respect the
- * AP_REQ_ACCEPT_PATH_INFO and AP_REQ_REJECT_PATH_INFO
- * values, while AP_REQ_DEFAULT_PATH_INFO indicates they
- * may follow existing conventions. This is set to the
- * user's preference upon HOOK_VERY_FIRST of the fixups.
- */
- int used_path_info;
-
- /* Various other config info which may change with .htaccess files
- * These are config vectors, with one void* pointer for each module
- * (the thing pointed to being the module's business).
- */
-
- /** Options set in config files, etc. */
- struct ap_conf_vector_t *per_dir_config;
- /** Notes on *this* request */
- struct ap_conf_vector_t *request_config;
-
- /**
- * A linked list of the .htaccess configuration directives
- * accessed by this request.
- * N.B. always add to the head of the list, _never_ to the end.
- * that way, a sub request's list can (temporarily) point to a parent's list
- */
- const struct htaccess_result *htaccess;
-
- /** A list of output filters to be used for this request */
- struct ap_filter_t *output_filters;
- /** A list of input filters to be used for this request */
- struct ap_filter_t *input_filters;
-
- /** A list of protocol level output filters to be used for this
- * request */
- struct ap_filter_t *proto_output_filters;
- /** A list of protocol level input filters to be used for this
- * request */
- struct ap_filter_t *proto_input_filters;
-
- /** A flag to determine if the eos bucket has been sent yet */
- int eos_sent;
-
-/* Things placed at the end of the record to avoid breaking binary
- * compatibility. It would be nice to remember to reorder the entire
- * record to improve 64bit alignment the next time we need to break
- * binary compatibility for some other reason.
- */
-};
-
-/**
- * @defgroup ProxyReq Proxy request types
- *
- * Possible values of request_rec->proxyreq. A request could be normal,
- * proxied or reverse proxied. Normally proxied and reverse proxied are
- * grouped together as just "proxied", but sometimes it's necessary to
- * tell the difference between the two, such as for authentication.
- * @{
- */
-
-#define PROXYREQ_NONE 0 /**< No proxy */
-#define PROXYREQ_PROXY 1 /**< Standard proxy */
-#define PROXYREQ_REVERSE 2 /**< Reverse proxy */
-#define PROXYREQ_RESPONSE 3 /**< Origin response */
-
-/* @} */
-
-typedef enum {
- AP_CONN_UNKNOWN,
- AP_CONN_CLOSE,
- AP_CONN_KEEPALIVE
-} ap_conn_keepalive_e;
-
-/** Structure to store things which are per connection */
-struct conn_rec {
- /** Pool associated with this connection */
- apr_pool_t *pool;
- /** Physical vhost this conn came in on */
- server_rec *base_server;
- /** used by http_vhost.c */
- void *vhost_lookup_data;
-
- /* Information about the connection itself */
- /** local address */
- apr_sockaddr_t *local_addr;
- /** remote address */
- apr_sockaddr_t *remote_addr;
-
- /** Client's IP address */
- char *remote_ip;
- /** Client's DNS name, if known. NULL if DNS hasn't been checked,
- * "" if it has and no address was found. N.B. Only access this though
- * get_remote_host() */
- char *remote_host;
- /** Only ever set if doing rfc1413 lookups. N.B. Only access this through
- * get_remote_logname() */
- char *remote_logname;
-
- /** Are we still talking? */
- unsigned aborted:1;
-
- /** Are we going to keep the connection alive for another request?
- * @see ap_conn_keepalive_e */
- ap_conn_keepalive_e keepalive;
-
- /** have we done double-reverse DNS? -1 yes/failure, 0 not yet,
- * 1 yes/success */
- signed int double_reverse:2;
-
- /** How many times have we used it? */
- int keepalives;
- /** server IP address */
- char *local_ip;
- /** used for ap_get_server_name when UseCanonicalName is set to DNS
- * (ignores setting of HostnameLookups) */
- char *local_host;
-
- /** ID of this connection; unique at any point in time */
- long id;
- /** Config vector containing pointers to connections per-server
- * config structures. */
- struct ap_conf_vector_t *conn_config;
- /** Notes on *this* connection: send note from one module to
- * another. must remain valid for all requests on this conn */
- apr_table_t *notes;
- /** A list of input filters to be used for this connection */
- struct ap_filter_t *input_filters;
- /** A list of output filters to be used for this connection */
- struct ap_filter_t *output_filters;
- /** handle to scoreboard information for this connection */
- void *sbh;
- /** The bucket allocator to use for all bucket/brigade creations */
- struct apr_bucket_alloc_t *bucket_alloc;
-};
-
-/* Per-vhost config... */
-
-/**
- * The address 255.255.255.255, when used as a virtualhost address,
- * will become the "default" server when the ip doesn't match other vhosts.
- */
-#define DEFAULT_VHOST_ADDR 0xfffffffful
-
-
-/** A structure to be used for Per-vhost config */
-typedef struct server_addr_rec server_addr_rec;
-struct server_addr_rec {
- /** The next server in the list */
- server_addr_rec *next;
- /** The bound address, for this server */
- apr_sockaddr_t *host_addr;
- /** The bound port, for this server */
- apr_port_t host_port;
- /** The name given in <VirtualHost> */
- char *virthost;
-};
-
-/** A structure to store information for each virtual server */
-struct server_rec {
- /** The process this server is running in */
- process_rec *process;
- /** The next server in the list */
- server_rec *next;
-
- /** The name of the server */
- const char *defn_name;
- /** The line of the config file that the server was defined on */
- unsigned defn_line_number;
-
- /* Contact information */
-
- /** The admin's contact information */
- char *server_admin;
- /** The server hostname */
- char *server_hostname;
- /** for redirects, etc. */
- apr_port_t port;
-
- /* Log files --- note that transfer log is now in the modules... */
-
- /** The name of the error log */
- char *error_fname;
- /** A file descriptor that references the error log */
- apr_file_t *error_log;
- /** The log level for this server */
- int loglevel;
-
- /* Module-specific configuration for server, and defaults... */
-
- /** true if this is the virtual server */
- int is_virtual;
- /** Config vector containing pointers to modules' per-server config
- * structures. */
- struct ap_conf_vector_t *module_config;
- /** MIME type info, etc., before we start checking per-directory info */
- struct ap_conf_vector_t *lookup_defaults;
-
- /* Transaction handling */
-
- /** I haven't got a clue */
- server_addr_rec *addrs;
- /** Timeout, as an apr interval, before we give up */
- apr_interval_time_t timeout;
- /** The apr interval we will wait for another request */
- apr_interval_time_t keep_alive_timeout;
- /** Maximum requests per connection */
- int keep_alive_max;
- /** Use persistent connections? */
- int keep_alive;
-
- /** Pathname for ServerPath */
- const char *path;
- /** Length of path */
- int pathlen;
-
- /** Normal names for ServerAlias servers */
- apr_array_header_t *names;
- /** Wildcarded names for ServerAlias servers */
- apr_array_header_t *wild_names;
-
- /** limit on size of the HTTP request line */
- int limit_req_line;
- /** limit on size of any request header field */
- int limit_req_fieldsize;
- /** limit on number of request header fields */
- int limit_req_fields;
-};
-
-typedef struct core_output_filter_ctx {
- apr_bucket_brigade *b;
- apr_pool_t *deferred_write_pool; /* subpool of c->pool used for resources
- * which may outlive the request
- */
-} core_output_filter_ctx_t;
-
-typedef struct core_filter_ctx {
- apr_bucket_brigade *b;
- apr_bucket_brigade *tmpbb;
-} core_ctx_t;
-
-typedef struct core_net_rec {
- /** Connection to the client */
- apr_socket_t *client_socket;
-
- /** connection record */
- conn_rec *c;
-
- core_output_filter_ctx_t *out_ctx;
- core_ctx_t *in_ctx;
-} core_net_rec;
-
-/**
- * Examine a field value (such as a media-/content-type) string and return
- * it sans any parameters; e.g., strip off any ';charset=foo' and the like.
- * @param p Pool to allocate memory from
- * @param intype The field to examine
- * @return A copy of the field minus any parameters
- */
-AP_DECLARE(char *) ap_field_noparam(apr_pool_t *p, const char *intype);
-
-/**
- * Convert a time from an integer into a string in a specified format
- * @param p The pool to allocate memory from
- * @param t The time to convert
- * @param fmt The format to use for the conversion
- * @param gmt Convert the time for GMT?
- * @return The string that represents the specified time
- */
-AP_DECLARE(char *) ap_ht_time(apr_pool_t *p, apr_time_t t, const char *fmt, int gmt);
-
-/* String handling. The *_nc variants allow you to use non-const char **s as
- arguments (unfortunately C won't automatically convert a char ** to a const
- char **) */
-
-/**
- * Get the characters until the first occurance of a specified character
- * @param p The pool to allocate memory from
- * @param line The string to get the characters from
- * @param stop The character to stop at
- * @return A copy of the characters up to the first stop character
- */
-AP_DECLARE(char *) ap_getword(apr_pool_t *p, const char **line, char stop);
-/**
- * Get the characters until the first occurance of a specified character
- * @param p The pool to allocate memory from
- * @param line The string to get the characters from
- * @param stop The character to stop at
- * @return A copy of the characters up to the first stop character
- * @note This is the same as ap_getword(), except it doesn't use const char **.
- */
-AP_DECLARE(char *) ap_getword_nc(apr_pool_t *p, char **line, char stop);
-
-/**
- * Get the first word from a given string. A word is defined as all characters
- * up to the first whitespace.
- * @param p The pool to allocate memory from
- * @param line The string to traverse
- * @return The first word in the line
- */
-AP_DECLARE(char *) ap_getword_white(apr_pool_t *p, const char **line);
-/**
- * Get the first word from a given string. A word is defined as all characters
- * up to the first whitespace.
- * @param p The pool to allocate memory from
- * @param line The string to traverse
- * @return The first word in the line
- * @note The same as ap_getword_white(), except it doesn't use const char **.
- */
-AP_DECLARE(char *) ap_getword_white_nc(apr_pool_t *p, char **line);
-
-/**
- * Get all characters from the first occurance of @a stop to the first '\0'
- * @param p The pool to allocate memory from
- * @param line The line to traverse
- * @param stop The character to start at
- * @return A copy of all caracters after the first occurance of the specified
- * character
- */
-AP_DECLARE(char *) ap_getword_nulls(apr_pool_t *p, const char **line,
- char stop);
-/**
- * Get all characters from the first occurance of @a stop to the first '\0'
- * @param p The pool to allocate memory from
- * @param line The line to traverse
- * @param stop The character to start at
- * @return A copy of all caracters after the first occurance of the specified
- * character
- * @note The same as ap_getword_nulls(), except it doesn't use const char **.
- */
-AP_DECLARE(char *) ap_getword_nulls_nc(apr_pool_t *p, char **line, char stop);
-
-/**
- * Get the second word in the string paying attention to quoting
- * @param p The pool to allocate from
- * @param line The line to traverse
- * @return A copy of the string
- */
-AP_DECLARE(char *) ap_getword_conf(apr_pool_t *p, const char **line);
-/**
- * Get the second word in the string paying attention to quoting
- * @param p The pool to allocate from
- * @param line The line to traverse
- * @return A copy of the string
- * @note The same as ap_getword_conf(), except it doesn't use const char **.
- */
-AP_DECLARE(char *) ap_getword_conf_nc(apr_pool_t *p, char **line);
-
-/**
- * Check a string for any ${ENV} environment variable construct and replace
- * each them by the value of that environment variable, if it exists. If the
- * environment value does not exist, leave the ${ENV} construct alone; it
- * means something else.
- * @param p The pool to allocate from
- * @param word The string to check
- * @return The string with the replaced environment variables
- */
-AP_DECLARE(const char *) ap_resolve_env(apr_pool_t *p, const char * word);
-
-/**
- * Size an HTTP header field list item, as separated by a comma.
- * @param field The field to size
- * @param len The length of the field
- * @return The return value is a pointer to the beginning of the non-empty
- * list item within the original string (or NULL if there is none) and the
- * address of field is shifted to the next non-comma, non-whitespace
- * character. len is the length of the item excluding any beginning whitespace.
- */
-AP_DECLARE(const char *) ap_size_list_item(const char **field, int *len);
-
-/**
- * Retrieve an HTTP header field list item, as separated by a comma,
- * while stripping insignificant whitespace and lowercasing anything not in
- * a quoted string or comment.
- * @param p The pool to allocate from
- * @param field The field to retrieve
- * @return The return value is a new string containing the converted list
- * item (or NULL if none) and the address pointed to by field is
- * shifted to the next non-comma, non-whitespace.
- */
-AP_DECLARE(char *) ap_get_list_item(apr_pool_t *p, const char **field);
-
-/**
- * Find an item in canonical form (lowercase, no extra spaces) within
- * an HTTP field value list.
- * @param p The pool to allocate from
- * @param line The field value list to search
- * @param tok The token to search for
- * @return 1 if found, 0 if not found.
- */
-AP_DECLARE(int) ap_find_list_item(apr_pool_t *p, const char *line, const char *tok);
-
-/**
- * Retrieve a token, spacing over it and returning a pointer to
- * the first non-white byte afterwards. Note that these tokens
- * are delimited by semis and commas and can also be delimited
- * by whitespace at the caller's option.
- * @param p The pool to allocate from
- * @param accept_line The line to retrieve the token from
- * @param accept_white Is it delimited by whitespace
- * @return the first non-white byte after the token
- */
-AP_DECLARE(char *) ap_get_token(apr_pool_t *p, const char **accept_line, int accept_white);
-
-/**
- * Find http tokens, see the definition of token from RFC2068
- * @param p The pool to allocate from
- * @param line The line to find the token
- * @param tok The token to find
- * @return 1 if the token is found, 0 otherwise
- */
-AP_DECLARE(int) ap_find_token(apr_pool_t *p, const char *line, const char *tok);
-
-/**
- * find http tokens from the end of the line
- * @param p The pool to allocate from
- * @param line The line to find the token
- * @param tok The token to find
- * @return 1 if the token is found, 0 otherwise
- */
-AP_DECLARE(int) ap_find_last_token(apr_pool_t *p, const char *line, const char *tok);
-
-/**
- * Check for an Absolute URI syntax
- * @param u The string to check
- * @return 1 if URI, 0 otherwise
- */
-AP_DECLARE(int) ap_is_url(const char *u);
-
-/**
- * Unescape a URL
- * @param url The url to unescape
- * @return 0 on success, non-zero otherwise
- */
-AP_DECLARE(int) ap_unescape_url(char *url);
-/**
- * Unescape a URL, but leaving %2f (slashes) escaped
- * @param url The url to unescape
- * @return 0 on success, non-zero otherwise
- */
-AP_DECLARE(int) ap_unescape_url_keep2f(char *url);
-/**
- * Convert all double slashes to single slashes
- * @param name The string to convert
- */
-AP_DECLARE(void) ap_no2slash(char *name);
-
-/**
- * Remove all ./ and xx/../ substrings from a file name. Also remove
- * any leading ../ or /../ substrings.
- * @param name the file name to parse
- */
-AP_DECLARE(void) ap_getparents(char *name);
-
-/**
- * Escape a path segment, as defined in RFC 1808
- * @param p The pool to allocate from
- * @param s The path to convert
- * @return The converted URL
- */
-AP_DECLARE(char *) ap_escape_path_segment(apr_pool_t *p, const char *s);
-/**
- * convert an OS path to a URL in an OS dependant way.
- * @param p The pool to allocate from
- * @param path The path to convert
- * @param partial if set, assume that the path will be appended to something
- * with a '/' in it (and thus does not prefix "./")
- * @return The converted URL
- */
-AP_DECLARE(char *) ap_os_escape_path(apr_pool_t *p, const char *path, int partial);
-/** @see ap_os_escape_path */
-#define ap_escape_uri(ppool,path) ap_os_escape_path(ppool,path,1)
-
-/**
- * Escape an html string
- * @param p The pool to allocate from
- * @param s The html to escape
- * @return The escaped string
- */
-AP_DECLARE(char *) ap_escape_html(apr_pool_t *p, const char *s);
-
-/**
- * Escape a string for logging
- * @param p The pool to allocate from
- * @param str The string to escape
- * @return The escaped string
- */
-AP_DECLARE(char *) ap_escape_logitem(apr_pool_t *p, const char *str);
-
-/**
- * Escape a string for logging into the error log (without a pool)
- * @param dest The buffer to write to
- * @param source The string to escape
- * @param buflen The buffer size for the escaped string (including \0)
- * @return The len of the escaped string (always < maxlen)
- */
-AP_DECLARE(apr_size_t) ap_escape_errorlog_item(char *dest, const char *source,
- apr_size_t buflen);
-
-/**
- * Construct a full hostname
- * @param p The pool to allocate from
- * @param hostname The hostname of the server
- * @param port The port the server is running on
- * @param r The current request
- * @return The server's hostname
- */
-AP_DECLARE(char *) ap_construct_server(apr_pool_t *p, const char *hostname,
- apr_port_t port, const request_rec *r);
-/**
- * Escape a shell command
- * @param p The pool to allocate from
- * @param s The command to escape
- * @return The escaped shell command
- */
-AP_DECLARE(char *) ap_escape_shell_cmd(apr_pool_t *p, const char *s);
-
-/**
- * Count the number of directories in a path
- * @param path The path to count
- * @return The number of directories
- */
-AP_DECLARE(int) ap_count_dirs(const char *path);
-
-/**
- * Copy at most @a n leading directories of @a s into @a d. @a d
- * should be at least as large as @a s plus 1 extra byte
- *
- * @param d The location to copy to
- * @param s The location to copy from
- * @param n The number of directories to copy
- * @return value is the ever useful pointer to the trailing \0 of d
- * @note on platforms with drive letters, n = 0 returns the "/" root,
- * whereas n = 1 returns the "d:/" root. On all other platforms, n = 0
- * returns the empty string. */
-AP_DECLARE(char *) ap_make_dirstr_prefix(char *d, const char *s, int n);
-
-/**
- * Return the parent directory name (including trailing /) of the file
- * @a s
- * @param p The pool to allocate from
- * @param s The file to get the parent of
- * @return A copy of the file's parent directory
- */
-AP_DECLARE(char *) ap_make_dirstr_parent(apr_pool_t *p, const char *s);
-
-/**
- * Given a directory and filename, create a single path from them. This
- * function is smart enough to ensure that there is a sinlge '/' between the
- * directory and file names
- * @param a The pool to allocate from
- * @param dir The directory name
- * @param f The filename
- * @return A copy of the full path
- * @tip Never consider using this function if you are dealing with filesystem
- * names that need to remain canonical, unless you are merging an apr_dir_read
- * path and returned filename. Otherwise, the result is not canonical.
- */
-AP_DECLARE(char *) ap_make_full_path(apr_pool_t *a, const char *dir, const char *f);
-
-/**
- * Test if the given path has an an absolute path.
- * @param p The pool to allocate from
- * @param dir The directory name
- * @tip The converse is not necessarily true, some OS's (Win32/OS2/Netware) have
- * multiple forms of absolute paths. This only reports if the path is absolute
- * in a canonical sense.
- */
-AP_DECLARE(int) ap_os_is_path_absolute(apr_pool_t *p, const char *dir);
-
-/**
- * Does the provided string contain wildcard characters? This is useful
- * for determining if the string should be passed to strcmp_match or to strcmp.
- * The only wildcard characters recognized are '?' and '*'
- * @param str The string to check
- * @return 1 if the string has wildcards, 0 otherwise
- */
-AP_DECLARE(int) ap_is_matchexp(const char *str);
-
-/**
- * Determine if a string matches a patterm containing the wildcards '?' or '*'
- * @param str The string to check
- * @param expected The pattern to match against
- * @return 1 if the two strings match, 0 otherwise
- */
-AP_DECLARE(int) ap_strcmp_match(const char *str, const char *expected);
-/**
- * Determine if a string matches a patterm containing the wildcards '?' or '*',
- * ignoring case
- * @param str The string to check
- * @param expected The pattern to match against
- * @return 1 if the two strings match, 0 otherwise
- */
-AP_DECLARE(int) ap_strcasecmp_match(const char *str, const char *expected);
-
-/**
- * Find the first occurrence of the substring s2 in s1, regardless of case
- * @param s1 The string to search
- * @param s2 The substring to search for
- * @return A pointer to the beginning of the substring
- * @remark See apr_strmatch() for a faster alternative
- */
-AP_DECLARE(char *) ap_strcasestr(const char *s1, const char *s2);
-
-/**
- * Return a pointer to the location inside of bigstring immediately after prefix
- * @param bigstring The input string
- * @param prefix The prefix to strip away
- * @return A pointer relative to bigstring after prefix
- */
-AP_DECLARE(const char *) ap_stripprefix(const char *bigstring,
- const char *prefix);
-
-/**
- * Decode a base64 encoded string into memory allocated from a pool
- * @param p The pool to allocate from
- * @param bufcoded The encoded string
- * @return The decoded string
- */
-AP_DECLARE(char *) ap_pbase64decode(apr_pool_t *p, const char *bufcoded);
-
-/**
- * Encode a string into memory allocated from a pool in base 64 format
- * @param p The pool to allocate from
- * @param strin The plaintext string
- * @return The encoded string
- */
-AP_DECLARE(char *) ap_pbase64encode(apr_pool_t *p, char *string);
-
-
-/**
- * Compile a regular expression to be used later
- * @param p The pool to allocate from
- * @param pattern the regular expression to compile
- * @param cflags The bitwise or of one or more of the following:
- * @li #REG_EXTENDED - Use POSIX extended Regular Expressions
- * @li #REG_ICASE - Ignore case
- * @li #REG_NOSUB - Support for substring addressing of matches
- * not required
- * @li #REG_NEWLINE - Match-any-character operators don't match new-line
- * @return The compiled regular expression
- */
-AP_DECLARE(regex_t *) ap_pregcomp(apr_pool_t *p, const char *pattern,
- int cflags);
-
-/**
- * Free the memory associated with a compiled regular expression
- * @param p The pool the regex was allocated from
- * @param reg The regular expression to free
- */
-AP_DECLARE(void) ap_pregfree(apr_pool_t *p, regex_t *reg);
-
-/**
- * Match a null-terminated string against a pre-compiled regex.
- * @param preg The pre-compiled regex
- * @param string The string to match
- * @param nmatch Provide information regarding the location of any matches
- * @param pmatch Provide information regarding the location of any matches
- * @param eflags Bitwise or of any of:
- * @li #REG_NOTBOL - match-beginning-of-line operator always
- * fails to match
- * @li #REG_NOTEOL - match-end-of-line operator always fails to match
- * @return 0 for successful match, #REG_NOMATCH otherwise
- */
-AP_DECLARE(int) ap_regexec(regex_t *preg, const char *string,
- size_t nmatch, regmatch_t pmatch[], int eflags);
-
-/**
- * Return the error code returned by regcomp or regexec into error messages
- * @param errcode the error code returned by regexec or regcomp
- * @param preg The precompiled regex
- * @param errbuf A buffer to store the error in
- * @param errbuf_size The size of the buffer
- */
-AP_DECLARE(size_t) ap_regerror(int errcode, const regex_t *preg,
- char *errbuf, size_t errbuf_size);
-
-/**
- * After performing a successful regex match, you may use this function to
- * perform a series of string substitutions based on subexpressions that were
- * matched during the call to ap_regexec
- * @param p The pool to allocate from
- * @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
- */
-AP_DECLARE(char *) ap_pregsub(apr_pool_t *p, const char *input, const char *source,
- size_t nmatch, regmatch_t pmatch[]);
-
-/**
- * We want to downcase the type/subtype for comparison purposes
- * but nothing else because ;parameter=foo values are case sensitive.
- * @param s The content-type to convert to lowercase
- */
-AP_DECLARE(void) ap_content_type_tolower(char *s);
-
-/**
- * convert a string to all lowercase
- * @param s The string to convert to lowercase
- */
-AP_DECLARE(void) ap_str_tolower(char *s);
-
-/**
- * Search a string from left to right for the first occurrence of a
- * specific character
- * @param str The string to search
- * @param c The character to search for
- * @return The index of the first occurrence of c in str
- */
-AP_DECLARE(int) ap_ind(const char *str, char c); /* Sigh... */
-
-/**
- * Search a string from right to left for the first occurrence of a
- * specific character
- * @param str The string to search
- * @param c The character to search for
- * @return The index of the first occurrence of c in str
- */
-AP_DECLARE(int) ap_rind(const char *str, char c);
-
-/**
- * Given a string, replace any bare " with \" .
- * @param p The pool to allocate memory from
- * @param instring The string to search for "
- * @return A copy of the string with escaped quotes
- */
-AP_DECLARE(char *) ap_escape_quotes(apr_pool_t *p, const char *instring);
-
-/* Misc system hackery */
-/**
- * Given the name of an object in the file system determine if it is a directory
- * @param p The pool to allocate from
- * @param name The name of the object to check
- * @return 1 if it is a directory, 0 otherwise
- */
-AP_DECLARE(int) ap_is_rdirectory(apr_pool_t *p, const char *name);
-
-/**
- * Given the name of an object in the file system determine if it is a directory - this version is symlink aware
- * @param p The pool to allocate from
- * @param name The name of the object to check
- * @return 1 if it is a directory, 0 otherwise
- */
-AP_DECLARE(int) ap_is_directory(apr_pool_t *p, const char *name);
-
-#ifdef _OSD_POSIX
-extern const char *os_set_account(apr_pool_t *p, const char *account);
-extern int os_init_job_environment(server_rec *s, const char *user_name, int one_process);
-#endif /* _OSD_POSIX */
-
-/**
- * Determine the local host name for the current machine
- * @param p The pool to allocate from
- * @return A copy of the local host name
- */
-char *ap_get_local_host(apr_pool_t *p);
-
-/**
- * Log an assertion to the error log
- * @param szExp The assertion that failed
- * @param szFile The file the assertion is in
- * @param nLine The line the assertion is defined on
- */
-AP_DECLARE(void) ap_log_assert(const char *szExp, const char *szFile, int nLine)
- __attribute__((noreturn));
-
-/** @internal */
-#define ap_assert(exp) ((exp) ? (void)0 : ap_log_assert(#exp,__FILE__,__LINE__))
-
-/**
- * Redefine assert() to something more useful for an Apache...
- *
- * Use ap_assert() if the condition should always be checked.
- * Use AP_DEBUG_ASSERT() if the condition should only be checked when AP_DEBUG
- * is defined.
- */
-
-#ifdef AP_DEBUG
-#define AP_DEBUG_ASSERT(exp) ap_assert(exp)
-#else
-#define AP_DEBUG_ASSERT(exp) ((void)0)
-#endif
-
-/**
- * @defgroup stopsignal flags which indicate places where the sever should stop for debugging.
- * @{
- * A set of flags which indicate places where the server should raise(SIGSTOP).
- * This is useful for debugging, because you can then attach to that process
- * with gdb and continue. This is important in cases where one_process
- * debugging isn't possible.
- */
-/** stop on a Detach */
-#define SIGSTOP_DETACH 1
-/** stop making a child process */
-#define SIGSTOP_MAKE_CHILD 2
-/** stop spawning a child process */
-#define SIGSTOP_SPAWN_CHILD 4
-/** stop spawning a child process with a piped log */
-#define SIGSTOP_PIPED_LOG_SPAWN 8
-/** stop spawning a CGI child process */
-#define SIGSTOP_CGI_CHILD 16
-
-/** Macro to get GDB started */
-#ifdef DEBUG_SIGSTOP
-extern int raise_sigstop_flags;
-#define RAISE_SIGSTOP(x) do { \
- if (raise_sigstop_flags & SIGSTOP_##x) raise(SIGSTOP);\
- } while (0)
-#else
-#define RAISE_SIGSTOP(x)
-#endif
-/** @} */
-/**
- * Get HTML describing the address and (optionally) admin of the server.
- * @param prefix Text which is prepended to the return value
- * @param r The request_rec
- * @return HTML describing the server, allocated in @a r's pool.
- */
-AP_DECLARE(const char *) ap_psignature(const char *prefix, request_rec *r);
-
-/** strtoul does not exist on sunos4. */
-#ifdef strtoul
-#undef strtoul
-#endif
-#define strtoul strtoul_is_not_a_portable_function_use_strtol_instead
-
- /* The C library has functions that allow const to be silently dropped ...
- these macros detect the drop in maintainer mode, but use the native
- methods for normal builds
-
- Note that on some platforms (e.g., AIX with gcc, Solaris with gcc), string.h needs
- to be included before the macros are defined or compilation will fail.
- */
-#include <string.h>
-
-AP_DECLARE(char *) ap_strchr(char *s, int c);
-AP_DECLARE(const char *) ap_strchr_c(const char *s, int c);
-AP_DECLARE(char *) ap_strrchr(char *s, int c);
-AP_DECLARE(const char *) ap_strrchr_c(const char *s, int c);
-AP_DECLARE(char *) ap_strstr(char *s, const char *c);
-AP_DECLARE(const char *) ap_strstr_c(const char *s, const char *c);
-
-#ifdef AP_DEBUG
-
-#undef strchr
-# define strchr(s, c) ap_strchr(s,c)
-#undef strrchr
-# define strrchr(s, c) ap_strrchr(s,c)
-#undef strstr
-# define strstr(s, c) ap_strstr(s,c)
-
-#else
-
-/** use this instead of strchr */
-# define ap_strchr(s, c) strchr(s, c)
-/** use this instead of strchr */
-# define ap_strchr_c(s, c) strchr(s, c)
-/** use this instead of strrchr */
-# define ap_strrchr(s, c) strrchr(s, c)
-/** use this instead of strrchr */
-# define ap_strrchr_c(s, c) strrchr(s, c)
-/** use this instead of strrstr*/
-# define ap_strstr(s, c) strstr(s, c)
-/** use this instead of strrstr*/
-# define ap_strstr_c(s, c) strstr(s, c)
-
-#endif
-
-#define AP_NORESTART APR_OS_START_USEERR + 1
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !APACHE_HTTPD_H */
diff --git a/rubbos/app/apache2/include/mod_cgi.h b/rubbos/app/apache2/include/mod_cgi.h
deleted file mode 100644
index 9a54895a..00000000
--- a/rubbos/app/apache2/include/mod_cgi.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* 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_CGI_H
-#define _MOD_CGI_H 1
-
-#include "mod_include.h"
-
-#define AP_PROC_DETACHED 1
-#define AP_PROC_NEWADDRSPACE 2
-
-typedef enum {RUN_AS_SSI, RUN_AS_CGI} prog_types;
-
-typedef struct {
- apr_int32_t in_pipe;
- apr_int32_t out_pipe;
- apr_int32_t err_pipe;
- int process_cgi;
- apr_cmdtype_e cmd_type;
- apr_int32_t detached; /* used as a bitfield for detached_ & addrspace_set, */
- /* when initializing apr_proc_attr structure */
- prog_types prog_type;
- apr_bucket_brigade **bb;
- include_ctx_t *ctx;
- ap_filter_t *next;
-} cgi_exec_info_t;
-
-/**
- * Registerable optional function to override CGI behavior;
- * Reprocess the command and arguments to execute the given CGI script.
- * @param cmd Pointer to the command to execute (may be overridden)
- * @param argv Pointer to the arguments to pass (may be overridden)
- * @param r The current request
- * @param p The pool to allocate correct cmd/argv elements within.
- * @param process_cgi Set true if processing r->filename and r->args
- * as a CGI invocation, otherwise false
- * @param type Set to APR_SHELLCMD or APR_PROGRAM on entry, may be
- * changed to invoke the program with alternate semantics.
- * @param detach Should the child start in detached state? Default is no.
- * @remark This callback may be registered by the os-specific module
- * to correct the command and arguments for apr_proc_create invocation
- * on a given os. mod_cgi will call the function if registered.
- */
-APR_DECLARE_OPTIONAL_FN(apr_status_t, ap_cgi_build_command,
- (const char **cmd, const char ***argv,
- request_rec *r, apr_pool_t *p,
- cgi_exec_info_t *e_info));
-
-#endif /* _MOD_CGI_H */
diff --git a/rubbos/app/apache2/include/mod_core.h b/rubbos/app/apache2/include/mod_core.h
deleted file mode 100644
index 093f38d1..00000000
--- a/rubbos/app/apache2/include/mod_core.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/* 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_CORE_H
-#define MOD_CORE_H
-
-#include "apr.h"
-#include "apr_buckets.h"
-
-#include "httpd.h"
-#include "util_filter.h"
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @package mod_core private header file
- */
-
-/* Handles for core filters */
-extern AP_DECLARE_DATA ap_filter_rec_t *ap_http_input_filter_handle;
-extern AP_DECLARE_DATA ap_filter_rec_t *ap_http_header_filter_handle;
-extern AP_DECLARE_DATA ap_filter_rec_t *ap_chunk_filter_handle;
-extern AP_DECLARE_DATA ap_filter_rec_t *ap_byterange_filter_handle;
-
-/*
- * These (input) filters are internal to the mod_core operation.
- */
-apr_status_t ap_http_filter(ap_filter_t *f, apr_bucket_brigade *b,
- ap_input_mode_t mode, apr_read_type_e block,
- apr_off_t readbytes);
-
-char *ap_response_code_string(request_rec *r, int error_index);
-
-/**
- * Send the minimal part of an HTTP response header.
- * @param r The current request
- * @param bb The brigade to add the header to.
- * @warning Modules should be very careful about using this, and should
- * the default behavior. Much of the HTTP/1.1 implementation
- * correctness depends on the full headers.
- * @deffunc void ap_basic_http_header(request_rec *r, apr_bucket_brigade *bb)
- */
-AP_DECLARE(void) ap_basic_http_header(request_rec *r, apr_bucket_brigade *bb);
-
-/**
- * Send an appropriate response to an http TRACE request.
- * @param r The current request
- * @tip returns DONE or the HTTP status error if it handles the TRACE,
- * or DECLINED if the request was not for TRACE.
- * request method was not TRACE.
- */
-AP_DECLARE_NONSTD(int) ap_send_http_trace(request_rec *r);
-
-/**
- * Send an appropriate response to an http OPTIONS request.
- * @param r The current request
- */
-AP_DECLARE(int) ap_send_http_options(request_rec *r);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !MOD_CORE_H */
diff --git a/rubbos/app/apache2/include/mod_dav.h b/rubbos/app/apache2/include/mod_dav.h
deleted file mode 100644
index 0fb9ac9b..00000000
--- a/rubbos/app/apache2/include/mod_dav.h
+++ /dev/null
@@ -1,2420 +0,0 @@
-/* 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.
- */
-
-/*
-** DAV extension module for Apache 2.0.*
-*/
-
-#ifndef _MOD_DAV_H_
-#define _MOD_DAV_H_
-
-#include "apr_hooks.h"
-#include "apr_hash.h"
-#include "apr_dbm.h"
-#include "apr_tables.h"
-
-#include "httpd.h"
-#include "util_filter.h"
-#include "util_xml.h"
-
-#include <limits.h> /* for INT_MAX */
-#include <time.h> /* for time_t */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#define DAV_VERSION AP_SERVER_BASEREVISION
-
-#define DAV_XML_HEADER "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
-#define DAV_XML_CONTENT_TYPE "text/xml; charset=\"utf-8\""
-
-#define DAV_READ_BLOCKSIZE 2048 /* used for reading input blocks */
-
-#define DAV_RESPONSE_BODY_1 "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\n<html><head>\n<title>"
-#define DAV_RESPONSE_BODY_2 "</title>\n</head><body>\n<h1>"
-#define DAV_RESPONSE_BODY_3 "</h1>\n<p>"
-#define DAV_RESPONSE_BODY_4 "</p>\n"
-#define DAV_RESPONSE_BODY_5 "</body></html>\n"
-
-#define DAV_DO_COPY 0
-#define DAV_DO_MOVE 1
-
-
-#if 1
-#define DAV_DEBUG 1
-#define DEBUG_CR "\n"
-#define DBG0(f) ap_log_error(APLOG_MARK, \
- APLOG_ERR, 0, NULL, (f))
-#define DBG1(f,a1) ap_log_error(APLOG_MARK, \
- APLOG_ERR, 0, NULL, f, a1)
-#define DBG2(f,a1,a2) ap_log_error(APLOG_MARK, \
- APLOG_ERR, 0, NULL, f, a1, a2)
-#define DBG3(f,a1,a2,a3) ap_log_error(APLOG_MARK, \
- APLOG_ERR, 0, NULL, f, a1, a2, a3)
-#else
-#undef DAV_DEBUG
-#define DEBUG_CR ""
-#endif
-
-#define DAV_INFINITY INT_MAX /* for the Depth: header */
-
-/* Create a set of DAV_DECLARE(type), DAV_DECLARE_NONSTD(type) and
- * DAV_DECLARE_DATA with appropriate export and import tags for the platform
- */
-#if !defined(WIN32)
-#define DAV_DECLARE(type) type
-#define DAV_DECLARE_NONSTD(type) type
-#define DAV_DECLARE_DATA
-#elif defined(DAV_DECLARE_STATIC)
-#define DAV_DECLARE(type) type __stdcall
-#define DAV_DECLARE_NONSTD(type) type
-#define DAV_DECLARE_DATA
-#elif defined(DAV_DECLARE_EXPORT)
-#define DAV_DECLARE(type) __declspec(dllexport) type __stdcall
-#define DAV_DECLARE_NONSTD(type) __declspec(dllexport) type
-#define DAV_DECLARE_DATA __declspec(dllexport)
-#else
-#define DAV_DECLARE(type) __declspec(dllimport) type __stdcall
-#define DAV_DECLARE_NONSTD(type) __declspec(dllimport) type
-#define DAV_DECLARE_DATA __declspec(dllimport)
-#endif
-
-/* --------------------------------------------------------------------
-**
-** ERROR MANAGEMENT
-*/
-
-/*
-** dav_error structure.
-**
-** In most cases, mod_dav uses a pointer to a dav_error structure. If the
-** pointer is NULL, then no error has occurred.
-**
-** In certain cases, a dav_error structure is directly used. In these cases,
-** a status value of 0 means that an error has not occurred.
-**
-** Note: this implies that status != 0 whenever an error occurs.
-**
-** The desc field is optional (it may be NULL). When NULL, it typically
-** implies that Apache has a proper description for the specified status.
-*/
-typedef struct dav_error {
- int status; /* suggested HTTP status (0 for no error) */
- int error_id; /* DAV-specific error ID */
- const char *desc; /* DAV:responsedescription and error log */
-
- int save_errno; /* copy of errno causing the error */
-
- const char *namespace; /* [optional] namespace of error */
- const char *tagname; /* name of error-tag */
-
- struct dav_error *prev; /* previous error (in stack) */
-
-} dav_error;
-
-/*
-** Create a new error structure. save_errno will be filled with the current
-** errno value.
-*/
-DAV_DECLARE(dav_error*) dav_new_error(apr_pool_t *p, int status,
- int error_id, const char *desc);
-
-
-/*
-** Create a new error structure with tagname and (optional) namespace;
-** namespace may be NULL, which means "DAV:". save_errno will be
-** filled with the current errno value.
-*/
-DAV_DECLARE(dav_error*) dav_new_error_tag(apr_pool_t *p, int status,
- int error_id, const char *desc,
- const char *namespace,
- const char *tagname);
-
-
-/*
-** Push a new error description onto the stack of errors.
-**
-** This function is used to provide an additional description to an existing
-** error.
-**
-** <status> should contain the caller's view of what the current status is,
-** given the underlying error. If it doesn't have a better idea, then the
-** caller should pass prev->status.
-**
-** <error_id> can specify a new error_id since the topmost description has
-** changed.
-*/
-DAV_DECLARE(dav_error*) dav_push_error(apr_pool_t *p, int status, int error_id,
- const char *desc, dav_error *prev);
-
-
-/* error ID values... */
-
-/* IF: header errors */
-#define DAV_ERR_IF_PARSE 100 /* general parsing error */
-#define DAV_ERR_IF_MULTIPLE_NOT 101 /* multiple "Not" found */
-#define DAV_ERR_IF_UNK_CHAR 102 /* unknown char in header */
-#define DAV_ERR_IF_ABSENT 103 /* no locktokens given */
-#define DAV_ERR_IF_TAGGED 104 /* in parsing tagged-list */
-#define DAV_ERR_IF_UNCLOSED_PAREN 105 /* in no-tagged-list */
-
-/* Prop DB errors */
-#define DAV_ERR_PROP_BAD_MAJOR 200 /* major version was wrong */
-#define DAV_ERR_PROP_READONLY 201 /* prop is read-only */
-#define DAV_ERR_PROP_NO_DATABASE 202 /* writable db not avail */
-#define DAV_ERR_PROP_NOT_FOUND 203 /* prop not found */
-#define DAV_ERR_PROP_BAD_LOCKDB 204 /* could not open lockdb */
-#define DAV_ERR_PROP_OPENING 205 /* problem opening propdb */
-#define DAV_ERR_PROP_EXEC 206 /* problem exec'ing patch */
-
-/* Predefined DB errors */
-/* ### any to define?? */
-
-/* Predefined locking system errors */
-#define DAV_ERR_LOCK_OPENDB 400 /* could not open lockdb */
-#define DAV_ERR_LOCK_NO_DB 401 /* no database defined */
-#define DAV_ERR_LOCK_CORRUPT_DB 402 /* DB is corrupt */
-#define DAV_ERR_LOCK_UNK_STATE_TOKEN 403 /* unknown State-token */
-#define DAV_ERR_LOCK_PARSE_TOKEN 404 /* bad opaquelocktoken */
-#define DAV_ERR_LOCK_SAVE_LOCK 405 /* err saving locks */
-
-/*
-** Some comments on Error ID values:
-**
-** The numbers do not necessarily need to be unique. Uniqueness simply means
-** that two errors that have not been predefined above can be distinguished
-** from each other. At the moment, mod_dav does not use this distinguishing
-** feature, but it could be used in the future to collapse <response> elements
-** into groups based on the error ID (and associated responsedescription).
-**
-** If a compute_desc is provided, then the error ID should be unique within
-** the context of the compute_desc function (so the function can figure out
-** what to filled into the desc).
-**
-** Basically, subsystems can ignore defining new error ID values if they want
-** to. The subsystems *do* need to return the predefined errors when
-** appropriate, so that mod_dav can figure out what to do. Subsystems can
-** simply leave the error ID field unfilled (zero) if there isn't an error
-** that must be placed there.
-*/
-
-
-/* --------------------------------------------------------------------
-**
-** HOOK STRUCTURES
-**
-** These are here for forward-declaration purposes. For more info, see
-** the section title "HOOK HANDLING" for more information, plus each
-** structure definition.
-*/
-
-/* forward-declare this structure */
-typedef struct dav_hooks_propdb dav_hooks_propdb;
-typedef struct dav_hooks_locks dav_hooks_locks;
-typedef struct dav_hooks_vsn dav_hooks_vsn;
-typedef struct dav_hooks_repository dav_hooks_repository;
-typedef struct dav_hooks_liveprop dav_hooks_liveprop;
-typedef struct dav_hooks_binding dav_hooks_binding;
-typedef struct dav_hooks_search dav_hooks_search;
-
-/* ### deprecated name */
-typedef dav_hooks_propdb dav_hooks_db;
-
-
-/* --------------------------------------------------------------------
-**
-** RESOURCE HANDLING
-*/
-
-/*
-** Resource Types:
-** The base protocol defines only file and collection resources.
-** The versioning protocol defines several additional resource types
-** to represent artifacts of a version control system.
-**
-** This enumeration identifies the type of URL used to identify the
-** resource. Since the same resource may have more than one type of
-** URL which can identify it, dav_resource_type cannot be used
-** alone to determine the type of the resource; attributes of the
-** dav_resource object must also be consulted.
-*/
-typedef enum {
- DAV_RESOURCE_TYPE_UNKNOWN,
-
- DAV_RESOURCE_TYPE_REGULAR, /* file or collection; could be
- * unversioned, or version selector,
- * or baseline selector */
-
- DAV_RESOURCE_TYPE_VERSION, /* version or baseline URL */
-
- DAV_RESOURCE_TYPE_HISTORY, /* version or baseline history URL */
-
- DAV_RESOURCE_TYPE_WORKING, /* working resource URL */
-
- DAV_RESOURCE_TYPE_WORKSPACE, /* workspace URL */
-
- DAV_RESOURCE_TYPE_ACTIVITY, /* activity URL */
-
- DAV_RESOURCE_TYPE_PRIVATE /* repository-private type */
-
-} dav_resource_type;
-
-/*
-** Opaque, repository-specific information for a resource.
-*/
-typedef struct dav_resource_private dav_resource_private;
-
-/*
-** Resource descriptor, generated by a repository provider.
-**
-** Note: the lock-null state is not explicitly represented here,
-** since it may be expensive to compute. Use dav_get_resource_state()
-** to determine whether a non-existent resource is a lock-null resource.
-**
-** A quick explanation of how the flags can apply to different resources:
-**
-** unversioned file or collection:
-** type = DAV_RESOURCE_TYPE_REGULAR
-** exists = ? (1 if exists)
-** collection = ? (1 if collection)
-** versioned = 0
-** baselined = 0
-** working = 0
-**
-** version-controlled resource or configuration:
-** type = DAV_RESOURCE_TYPE_REGULAR
-** exists = 1
-** collection = ? (1 if collection)
-** versioned = 1
-** baselined = ? (1 if configuration)
-** working = ? (1 if checked out)
-**
-** version/baseline history:
-** type = DAV_RESOURCE_TYPE_HISTORY
-** exists = 1
-** collection = 0
-** versioned = 0
-** baselined = 0
-** working = 0
-**
-** version/baseline:
-** type = DAV_RESOURCE_TYPE_VERSION
-** exists = 1
-** collection = ? (1 if collection)
-** versioned = 1
-** baselined = ? (1 if baseline)
-** working = 0
-**
-** working resource:
-** type = DAV_RESOURCE_TYPE_WORKING
-** exists = 1
-** collection = ? (1 if collection)
-** versioned = 1
-** baselined = 0
-** working = 1
-**
-** workspace:
-** type = DAV_RESOURCE_TYPE_WORKSPACE
-** exists = ? (1 if exists)
-** collection = 1
-** versioned = ? (1 if version-controlled)
-** baselined = ? (1 if baseline-controlled)
-** working = ? (1 if checked out)
-**
-** activity:
-** type = DAV_RESOURCE_TYPE_ACTIVITY
-** exists = ? (1 if exists)
-** collection = 0
-** versioned = 0
-** baselined = 0
-** working = 0
-*/
-typedef struct dav_resource {
- dav_resource_type type;
-
- int exists; /* 0 => null resource */
-
- int collection; /* 0 => file; can be 1 for
- * REGULAR, VERSION, and WORKING resources,
- * and is always 1 for WORKSPACE */
-
- int versioned; /* 0 => unversioned; can be 1 for
- * REGULAR and WORKSPACE resources,
- * and is always 1 for VERSION and WORKING */
-
- int baselined; /* 0 => not baselined; can be 1 for
- * REGULAR, VERSION, and WORKSPACE resources;
- * versioned == 1 when baselined == 1 */
-
- int working; /* 0 => not checked out; can be 1 for
- * REGULAR and WORKSPACE resources,
- * and is always 1 for WORKING */
-
- const char *uri; /* the URI for this resource */
-
- dav_resource_private *info; /* the provider's private info */
-
- const dav_hooks_repository *hooks; /* hooks used for this resource */
-
- /* When allocating items related specifically to this resource, the
- following pool should be used. Its lifetime will be at least as
- long as the dav_resource structure. */
- apr_pool_t *pool;
-
-} dav_resource;
-
-/*
-** Lock token type. Lock providers define the details of a lock token.
-** However, all providers are expected to at least be able to parse
-** the "opaquelocktoken" scheme, which is represented by a uuid_t.
-*/
-typedef struct dav_locktoken dav_locktoken;
-
-
-/* --------------------------------------------------------------------
-**
-** BUFFER HANDLING
-**
-** These buffers are used as a lightweight buffer reuse mechanism. Apache
-** provides sub-pool creation and destruction to much the same effect, but
-** the sub-pools are a bit more general and heavyweight than these buffers.
-*/
-
-/* buffer for reuse; can grow to accomodate needed size */
-typedef struct
-{
- apr_size_t alloc_len; /* how much has been allocated */
- apr_size_t cur_len; /* how much is currently being used */
- char *buf; /* buffer contents */
-} dav_buffer;
-#define DAV_BUFFER_MINSIZE 256 /* minimum size for buffer */
-#define DAV_BUFFER_PAD 64 /* amount of pad when growing */
-
-/* set the cur_len to the given size and ensure space is available */
-DAV_DECLARE(void) dav_set_bufsize(apr_pool_t *p, dav_buffer *pbuf,
- apr_size_t size);
-
-/* initialize a buffer and copy the specified (null-term'd) string into it */
-DAV_DECLARE(void) dav_buffer_init(apr_pool_t *p, dav_buffer *pbuf,
- const char *str);
-
-/* check that the buffer can accomodate <extra_needed> more bytes */
-DAV_DECLARE(void) dav_check_bufsize(apr_pool_t *p, dav_buffer *pbuf,
- apr_size_t extra_needed);
-
-/* append a string to the end of the buffer, adjust length */
-DAV_DECLARE(void) dav_buffer_append(apr_pool_t *p, dav_buffer *pbuf,
- const char *str);
-
-/* place a string on the end of the buffer, do NOT adjust length */
-DAV_DECLARE(void) dav_buffer_place(apr_pool_t *p, dav_buffer *pbuf,
- const char *str);
-
-/* place some memory on the end of a buffer; do NOT adjust length */
-DAV_DECLARE(void) dav_buffer_place_mem(apr_pool_t *p, dav_buffer *pbuf,
- const void *mem, apr_size_t amt,
- apr_size_t pad);
-
-
-/* --------------------------------------------------------------------
-**
-** HANDY UTILITIES
-*/
-
-/* contains results from one of the getprop functions */
-typedef struct
-{
- apr_text * propstats; /* <propstat> element text */
- apr_text * xmlns; /* namespace decls for <response> elem */
-} dav_get_props_result;
-
-/* holds the contents of a <response> element */
-typedef struct dav_response
-{
- const char *href; /* always */
- const char *desc; /* optional description at <response> level */
-
- /* use status if propresult.propstats is NULL. */
- dav_get_props_result propresult;
-
- int status;
-
- struct dav_response *next;
-} dav_response;
-
-typedef struct
-{
- request_rec *rnew; /* new subrequest */
- dav_error err; /* potential error response */
-} dav_lookup_result;
-
-
-DAV_DECLARE(dav_lookup_result) dav_lookup_uri(const char *uri, request_rec *r,
- int must_be_absolute);
-
-/* defines type of property info a provider is to return */
-typedef enum {
- DAV_PROP_INSERT_NOTDEF, /* property is defined by this provider,
- but nothing was inserted because the
- (live) property is not defined for this
- resource (it may be present as a dead
- property). */
- DAV_PROP_INSERT_NOTSUPP, /* property is recognized by this provider,
- but it is not supported, and cannot be
- treated as a dead property */
- DAV_PROP_INSERT_NAME, /* a property name (empty elem) was
- inserted into the text block */
- DAV_PROP_INSERT_VALUE, /* a property name/value pair was inserted
- into the text block */
- DAV_PROP_INSERT_SUPPORTED /* a supported live property was added to
- the text block as a
- <DAV:supported-live-property> element */
-} dav_prop_insert;
-
-/* ### this stuff is private to dav/fs/repos.c; move it... */
-/* format a time string (buf must be at least DAV_TIMEBUF_SIZE chars) */
-#define DAV_STYLE_ISO8601 1
-#define DAV_STYLE_RFC822 2
-#define DAV_TIMEBUF_SIZE 30
-
-DAV_DECLARE(int) dav_get_depth(request_rec *r, int def_depth);
-
-DAV_DECLARE(int) dav_validate_root(const apr_xml_doc *doc,
- const char *tagname);
-DAV_DECLARE(apr_xml_elem *) dav_find_child(const apr_xml_elem *elem,
- const char *tagname);
-
-/* gather up all the CDATA into a single string */
-DAV_DECLARE(const char *) dav_xml_get_cdata(const apr_xml_elem *elem, apr_pool_t *pool,
- int strip_white);
-
-/*
-** XML namespace handling
-**
-** This structure tracks namespace declarations (xmlns:prefix="URI").
-** It maintains a one-to-many relationship of URIs-to-prefixes. In other
-** words, one URI may be defined by many prefixes, but any specific
-** prefix will specify only one URI.
-**
-** Prefixes using the "g###" pattern can be generated automatically if
-** the caller does not have specific prefix requirements.
-*/
-typedef struct {
- apr_pool_t *pool;
- apr_hash_t *uri_prefix; /* map URIs to an available prefix */
- apr_hash_t *prefix_uri; /* map all prefixes to their URIs */
- int count; /* counter for "g###" prefixes */
-} dav_xmlns_info;
-
-/* create an empty dav_xmlns_info structure */
-DAV_DECLARE(dav_xmlns_info *) dav_xmlns_create(apr_pool_t *pool);
-
-/* add a specific prefix/URI pair. the prefix/uri should have a lifetime
- at least that of xmlns->pool */
-DAV_DECLARE(void) dav_xmlns_add(dav_xmlns_info *xi,
- const char *prefix, const char *uri);
-
-/* add a URI (if not present); any prefix is acceptable and is returned.
- the uri should have a lifetime at least that xmlns->pool */
-DAV_DECLARE(const char *) dav_xmlns_add_uri(dav_xmlns_info *xi,
- const char *uri);
-
-/* return the URI for a specified prefix (or NULL if the prefix is unknown) */
-DAV_DECLARE(const char *) dav_xmlns_get_uri(dav_xmlns_info *xi,
- const char *prefix);
-
-/* return an available prefix for a specified URI (or NULL if the URI
- is unknown) */
-DAV_DECLARE(const char *) dav_xmlns_get_prefix(dav_xmlns_info *xi,
- const char *uri);
-
-/* generate xmlns declarations (appending into the given text) */
-DAV_DECLARE(void) dav_xmlns_generate(dav_xmlns_info *xi,
- apr_text_header *phdr);
-
-/* --------------------------------------------------------------------
-**
-** DAV PLUGINS
-*/
-
-/* ### docco ... */
-
-/*
-** dav_provider
-**
-** This structure wraps up all of the hooks that a mod_dav provider can
-** supply. The provider MUST supply <repos> and <propdb>. The rest are
-** optional and should contain NULL if that feature is not supplied.
-**
-** Note that a provider cannot pick and choose portions from various
-** underlying implementations (which was theoretically possible in
-** mod_dav 1.0). There are too many dependencies between a dav_resource
-** (defined by <repos>) and the other functionality.
-**
-** Live properties are not part of the dav_provider structure because they
-** are handled through the APR_HOOK interface (to allow for multiple liveprop
-** providers). The core always provides some properties, and then a given
-** provider will add more properties.
-**
-** Some providers may need to associate a context with the dav_provider
-** structure -- the ctx field is available for storing this context. Just
-** leave it NULL if it isn't required.
-*/
-typedef struct {
- const dav_hooks_repository *repos;
- const dav_hooks_propdb *propdb;
- const dav_hooks_locks *locks;
- const dav_hooks_vsn *vsn;
- const dav_hooks_binding *binding;
- const dav_hooks_search *search;
-
- void *ctx;
-} dav_provider;
-
-/*
-** gather_propsets: gather all live property propset-URIs
-**
-** The hook implementor should push one or more URIs into the specified
-** array. These URIs are returned in the DAV: header to let clients know
-** what sets of live properties are supported by the installation. mod_dav
-** will place open/close angle brackets around each value (much like
-** a Coded-URL); quotes and brackets should not be in the value.
-**
-** Example: http://apache.org/dav/props/
-**
-** (of course, use your own domain to ensure a unique value)
-*/
-APR_DECLARE_EXTERNAL_HOOK(dav, DAV, void, gather_propsets,
- (apr_array_header_t *uris))
-
-/*
-** find_liveprop: find a live property, returning a non-zero, unique,
-** opaque identifier.
-**
-** If the hook implementor determines the specified URI/name refers to
-** one of its properties, then it should fill in HOOKS and return a
-** non-zero value. The returned value is the "property ID" and will
-** be passed to the various liveprop hook functions.
-**
-** Return 0 if the property is not defined by the hook implementor.
-*/
-APR_DECLARE_EXTERNAL_HOOK(dav, DAV, int, find_liveprop,
- (const dav_resource *resource,
- const char *ns_uri, const char *name,
- const dav_hooks_liveprop **hooks))
-
-/*
-** insert_all_liveprops: insert all (known) live property names/values.
-**
-** The hook implementor should append XML text to PHDR, containing liveprop
-** names. If INSVALUE is true, then the property values should also be
-** inserted into the output XML stream.
-**
-** The liveprop provider should insert *all* known and *defined* live
-** properties on the specified resource. If a particular liveprop is
-** not defined for this resource, then it should not be inserted.
-*/
-APR_DECLARE_EXTERNAL_HOOK(dav, DAV, void, insert_all_liveprops,
- (request_rec *r, const dav_resource *resource,
- dav_prop_insert what, apr_text_header *phdr))
-
-DAV_DECLARE(const dav_hooks_locks *) dav_get_lock_hooks(request_rec *r);
-DAV_DECLARE(const dav_hooks_propdb *) dav_get_propdb_hooks(request_rec *r);
-DAV_DECLARE(const dav_hooks_vsn *) dav_get_vsn_hooks(request_rec *r);
-DAV_DECLARE(const dav_hooks_binding *) dav_get_binding_hooks(request_rec *r);
-DAV_DECLARE(const dav_hooks_search *) dav_get_search_hooks(request_rec *r);
-
-DAV_DECLARE(void) dav_register_provider(apr_pool_t *p, const char *name,
- const dav_provider *hooks);
-DAV_DECLARE(const dav_provider *) dav_lookup_provider(const char *name);
-
-
-/* ### deprecated */
-#define DAV_GET_HOOKS_PROPDB(r) dav_get_propdb_hooks(r)
-#define DAV_GET_HOOKS_LOCKS(r) dav_get_lock_hooks(r)
-#define DAV_GET_HOOKS_VSN(r) dav_get_vsn_hooks(r)
-#define DAV_GET_HOOKS_BINDING(r) dav_get_binding_hooks(r)
-#define DAV_GET_HOOKS_SEARCH(r) dav_get_search_hooks(r)
-
-
-/* --------------------------------------------------------------------
-**
-** IF HEADER PROCESSING
-**
-** Here is the definition of the If: header from RFC 2518, S9.4:
-**
-** If = "If" ":" (1*No-tag-list | 1*Tagged-list)
-** No-tag-list = List
-** Tagged-list = Resource 1*List
-** Resource = Coded-URL
-** List = "(" 1*(["Not"](State-token | "[" entity-tag "]")) ")"
-** State-token = Coded-URL
-** Coded-URL = "<" absoluteURI ">" ; absoluteURI from RFC 2616
-**
-** List corresponds to dav_if_state_list. No-tag-list corresponds to
-** dav_if_header with uri==NULL. Tagged-list corresponds to a sequence of
-** dav_if_header structures with (duplicate) uri==Resource -- one
-** dav_if_header per state_list. A second Tagged-list will start a new
-** sequence of dav_if_header structures with the new URI.
-**
-** A summary of the semantics, mapped into our structures:
-** - Chained dav_if_headers: OR
-** - Chained dav_if_state_lists: AND
-** - NULL uri matches all resources
-*/
-
-typedef enum
-{
- dav_if_etag,
- dav_if_opaquelock
-} dav_if_state_type;
-
-typedef struct dav_if_state_list
-{
- dav_if_state_type type;
-
- int condition;
-#define DAV_IF_COND_NORMAL 0
-#define DAV_IF_COND_NOT 1 /* "Not" was applied */
-
- const char *etag;
- dav_locktoken *locktoken;
-
- struct dav_if_state_list *next;
-} dav_if_state_list;
-
-typedef struct dav_if_header
-{
- const char *uri;
- apr_size_t uri_len;
- struct dav_if_state_list *state;
- struct dav_if_header *next;
-
- int dummy_header; /* used internally by the lock/etag validation */
-} dav_if_header;
-
-typedef struct dav_locktoken_list
-{
- dav_locktoken *locktoken;
- struct dav_locktoken_list *next;
-} dav_locktoken_list;
-
-DAV_DECLARE(dav_error *) dav_get_locktoken_list(request_rec *r,
- dav_locktoken_list **ltl);
-
-
-/* --------------------------------------------------------------------
-**
-** LIVE PROPERTY HANDLING
-*/
-
-/* opaque type for PROPPATCH rollback information */
-typedef struct dav_liveprop_rollback dav_liveprop_rollback;
-
-struct dav_hooks_liveprop
-{
- /*
- ** Insert property information into a text block. The property to
- ** insert is identified by the propid value. The information to insert
- ** is identified by the "what" argument, as follows:
- ** DAV_PROP_INSERT_NAME
- ** property name, as an empty XML element
- ** DAV_PROP_INSERT_VALUE
- ** property name/value, as an XML element
- ** DAV_PROP_INSERT_SUPPORTED
- ** if the property is defined on the resource, then
- ** a DAV:supported-live-property element, as defined
- ** by the DeltaV extensions to RFC2518.
- **
- ** Providers should return DAV_PROP_INSERT_NOTDEF if the property is
- ** known and not defined for this resource, so should be handled as a
- ** dead property. If a provider recognizes, but does not support, a
- ** property, and does not want it handled as a dead property, it should
- ** return DAV_PROP_INSERT_NOTSUPP.
- **
- ** Returns one of DAV_PROP_INSERT_* based on what happened.
- **
- ** ### we may need more context... ie. the lock database
- */
- dav_prop_insert (*insert_prop)(const dav_resource *resource,
- int propid, dav_prop_insert what,
- apr_text_header *phdr);
-
- /*
- ** Determine whether a given property is writable.
- **
- ** ### we may want a different semantic. i.e. maybe it should be
- ** ### "can we write <value> into this property?"
- **
- ** Returns 1 if the live property can be written, 0 if read-only.
- */
- int (*is_writable)(const dav_resource *resource, int propid);
-
- /*
- ** This member defines the set of namespace URIs that the provider
- ** uses for its properties. When insert_all is called, it will be
- ** passed a list of integers that map from indices into this list
- ** to namespace IDs for output generation.
- **
- ** The last entry in this list should be a NULL value (sentinel).
- */
- const char * const * namespace_uris;
-
- /*
- ** ### this is not the final design. we want an open-ended way for
- ** ### liveprop providers to attach *new* properties. To this end,
- ** ### we'll have a "give me a list of the props you define", a way
- ** ### to check for a prop's existence, a way to validate a set/remove
- ** ### of a prop, and a way to execute/commit/rollback that change.
- */
-
- /*
- ** Validate that the live property can be assigned a value, and that
- ** the provided value is valid.
- **
- ** elem will point to the XML element that names the property. For
- ** example:
- ** <lp1:executable>T</lp1:executable>
- **
- ** The provider can access the cdata fields and the child elements
- ** to extract the relevant pieces.
- **
- ** operation is one of DAV_PROP_OP_SET or _DELETE.
- **
- ** The provider may return a value in *context which will be passed
- ** to each of the exec/commit/rollback functions. For example, this
- ** may contain an internal value which has been processed from the
- ** input element.
- **
- ** The provider must set defer_to_dead to true (non-zero) or false.
- ** If true, then the set/remove is deferred to the dead property
- ** database. Note: it will be set to zero on entry.
- */
- dav_error * (*patch_validate)(const dav_resource *resource,
- const apr_xml_elem *elem,
- int operation,
- void **context,
- int *defer_to_dead);
-
- /* ### doc... */
- dav_error * (*patch_exec)(const dav_resource *resource,
- const apr_xml_elem *elem,
- int operation,
- void *context,
- dav_liveprop_rollback **rollback_ctx);
-
- /* ### doc... */
- void (*patch_commit)(const dav_resource *resource,
- int operation,
- void *context,
- dav_liveprop_rollback *rollback_ctx);
-
- /* ### doc... */
- dav_error * (*patch_rollback)(const dav_resource *resource,
- int operation,
- void *context,
- dav_liveprop_rollback *rollback_ctx);
-
- /*
- ** If a provider needs a context to associate with this hooks structure,
- ** then this field may be used. In most cases, it will just be NULL.
- */
- void *ctx;
-};
-
-/*
-** dav_liveprop_spec: specify a live property
-**
-** This structure is used as a standard way to determine if a particular
-** property is a live property. Its use is not part of the mandated liveprop
-** interface, but can be used by liveprop providers in conjuction with the
-** utility routines below.
-**
-** spec->name == NULL is the defined end-sentinel for a list of specs.
-*/
-typedef struct {
- int ns; /* provider-local namespace index */
- const char *name; /* name of the property */
-
- int propid; /* provider-local property ID */
-
- int is_writable; /* is the property writable? */
-
-} dav_liveprop_spec;
-
-/*
-** dav_liveprop_group: specify a group of liveprops
-**
-** This structure specifies a group of live properties, their namespaces,
-** and how to handle them.
-*/
-typedef struct {
- const dav_liveprop_spec *specs;
- const char * const *namespace_uris;
- const dav_hooks_liveprop *hooks;
-
-} dav_liveprop_group;
-
-/* ### docco */
-DAV_DECLARE(int) dav_do_find_liveprop(const char *ns_uri, const char *name,
- const dav_liveprop_group *group,
- const dav_hooks_liveprop **hooks);
-
-/* ### docco */
-DAV_DECLARE(int) dav_get_liveprop_info(int propid,
- const dav_liveprop_group *group,
- const dav_liveprop_spec **info);
-
-/* ### docco */
-DAV_DECLARE(void) dav_register_liveprop_group(apr_pool_t *pool,
- const dav_liveprop_group *group);
-
-/* ### docco */
-DAV_DECLARE(int) dav_get_liveprop_ns_index(const char *uri);
-
-/* ### docco */
-DAV_DECLARE(int) dav_get_liveprop_ns_count(void);
-
-/* ### docco */
-DAV_DECLARE(void) dav_add_all_liveprop_xmlns(apr_pool_t *p,
- apr_text_header *phdr);
-
-/*
-** The following three functions are part of mod_dav's internal handling
-** for the core WebDAV properties. They are not part of mod_dav's API.
-*/
-DAV_DECLARE_NONSTD(int) dav_core_find_liveprop(
- const dav_resource *resource,
- const char *ns_uri,
- const char *name,
- const dav_hooks_liveprop **hooks);
-DAV_DECLARE_NONSTD(void) dav_core_insert_all_liveprops(
- request_rec *r,
- const dav_resource *resource,
- dav_prop_insert what,
- apr_text_header *phdr);
-DAV_DECLARE_NONSTD(void) dav_core_register_uris(apr_pool_t *p);
-
-
-/*
-** Standard WebDAV Property Identifiers
-**
-** A live property provider does not need to use these; they are simply
-** provided for convenience.
-**
-** Property identifiers need to be unique within a given provider, but not
-** *across* providers (note: this uniqueness constraint was different in
-** older versions of mod_dav).
-**
-** The identifiers start at 20000 to make it easier for providers to avoid
-** conflicts with the standard properties. The properties are arranged
-** alphabetically, and may be reordered from time to time (as properties
-** are introduced).
-**
-** NOTE: there is no problem with reordering (e.g. binary compat) since the
-** identifiers are only used within a given provider, which would pick up
-** the entire set of changes upon a recompile.
-*/
-enum {
- DAV_PROPID_BEGIN = 20000,
-
- /* Standard WebDAV properties (RFC 2518) */
- DAV_PROPID_creationdate,
- DAV_PROPID_displayname,
- DAV_PROPID_getcontentlanguage,
- DAV_PROPID_getcontentlength,
- DAV_PROPID_getcontenttype,
- DAV_PROPID_getetag,
- DAV_PROPID_getlastmodified,
- DAV_PROPID_lockdiscovery,
- DAV_PROPID_resourcetype,
- DAV_PROPID_source,
- DAV_PROPID_supportedlock,
-
- /* DeltaV properties (from the I-D (#14)) */
- DAV_PROPID_activity_checkout_set,
- DAV_PROPID_activity_set,
- DAV_PROPID_activity_version_set,
- DAV_PROPID_auto_merge_set,
- DAV_PROPID_auto_version,
- DAV_PROPID_baseline_collection,
- DAV_PROPID_baseline_controlled_collection,
- DAV_PROPID_baseline_controlled_collection_set,
- DAV_PROPID_checked_in,
- DAV_PROPID_checked_out,
- DAV_PROPID_checkin_fork,
- DAV_PROPID_checkout_fork,
- DAV_PROPID_checkout_set,
- DAV_PROPID_comment,
- DAV_PROPID_creator_displayname,
- DAV_PROPID_current_activity_set,
- DAV_PROPID_current_workspace_set,
- DAV_PROPID_default_variant,
- DAV_PROPID_eclipsed_set,
- DAV_PROPID_label_name_set,
- DAV_PROPID_merge_set,
- DAV_PROPID_precursor_set,
- DAV_PROPID_predecessor_set,
- DAV_PROPID_root_version,
- DAV_PROPID_subactivity_set,
- DAV_PROPID_subbaseline_set,
- DAV_PROPID_successor_set,
- DAV_PROPID_supported_method_set,
- DAV_PROPID_supported_live_property_set,
- DAV_PROPID_supported_report_set,
- DAV_PROPID_unreserved,
- DAV_PROPID_variant_set,
- DAV_PROPID_version_controlled_binding_set,
- DAV_PROPID_version_controlled_configuration,
- DAV_PROPID_version_history,
- DAV_PROPID_version_name,
- DAV_PROPID_workspace,
- DAV_PROPID_workspace_checkout_set,
-
- DAV_PROPID_END
-};
-
-/*
-** Property Identifier Registration
-**
-** At the moment, mod_dav requires live property providers to ensure that
-** each property returned has a unique value. For now, this is done through
-** central registration (there are no known providers other than the default,
-** so this remains manageable).
-**
-** WARNING: the TEST ranges should never be "shipped".
-*/
-#define DAV_PROPID_CORE 10000 /* ..10099. defined by mod_dav */
-#define DAV_PROPID_FS 10100 /* ..10299.
- mod_dav filesystem provider. */
-#define DAV_PROPID_TEST1 10300 /* ..10399 */
-#define DAV_PROPID_TEST2 10400 /* ..10499 */
-#define DAV_PROPID_TEST3 10500 /* ..10599 */
-/* Next: 10600 */
-
-
-/* --------------------------------------------------------------------
-**
-** DATABASE FUNCTIONS
-*/
-
-typedef struct dav_db dav_db;
-typedef struct dav_namespace_map dav_namespace_map;
-typedef struct dav_deadprop_rollback dav_deadprop_rollback;
-
-typedef struct {
- const char *ns; /* "" signals "no namespace" */
- const char *name;
-} dav_prop_name;
-
-/* hook functions to enable pluggable databases */
-struct dav_hooks_propdb
-{
- dav_error * (*open)(apr_pool_t *p, const dav_resource *resource, int ro,
- dav_db **pdb);
- void (*close)(dav_db *db);
-
- /*
- ** In bulk, define any namespaces that the values and their name
- ** elements may need.
- **
- ** Note: sometimes mod_dav will defer calling this until output_value
- ** returns found==1. If the output process needs the dav_xmlns_info
- ** filled for its work, then it will need to fill it on demand rather
- ** than depending upon this hook to fill in the structure.
- **
- ** Note: this will *always* be called during an output sequence. Thus,
- ** the provider may rely solely on using this to fill the xmlns info.
- */
- dav_error * (*define_namespaces)(dav_db *db, dav_xmlns_info *xi);
-
- /*
- ** Output the value from the database (i.e. add an element name and
- ** the value into *phdr). Set *found based on whether the name/value
- ** was found in the propdb.
- **
- ** Note: it is NOT an error for the key/value pair to not exist.
- **
- ** The dav_xmlns_info passed to define_namespaces() is also passed to
- ** each output_value() call so that namespaces can be added on-demand.
- ** It can also be used to look up prefixes or URIs during the output
- ** process.
- */
- dav_error * (*output_value)(dav_db *db, const dav_prop_name *name,
- dav_xmlns_info *xi,
- apr_text_header *phdr, int *found);
-
- /*
- ** Build a mapping from "global" namespaces (stored in apr_xml_*)
- ** into provider-local namespace identifiers.
- **
- ** This mapping should be done once per set of namespaces, and the
- ** resulting mapping should be passed into the store() hook function.
- **
- ** Note: usually, there is just a single document/namespaces for all
- ** elements passed. However, the generality of creating multiple
- ** mappings and passing them to store() is provided here.
- **
- ** Note: this is only in preparation for a series of store() calls.
- ** As a result, the propdb must be open for read/write access when
- ** this function is called.
- */
- dav_error * (*map_namespaces)(dav_db *db,
- const apr_array_header_t *namespaces,
- dav_namespace_map **mapping);
-
- /*
- ** Store a property value for a given name. The value->combined field
- ** MUST be set for this call.
- **
- ** ### WARNING: current providers will quote the text within ELEM.
- ** ### this implies you can call this function only once with a given
- ** ### element structure (a second time will quote it again).
- */
- dav_error * (*store)(dav_db *db, const dav_prop_name *name,
- const apr_xml_elem *elem,
- dav_namespace_map *mapping);
-
- /* remove a given property */
- dav_error * (*remove)(dav_db *db, const dav_prop_name *name);
-
- /* returns 1 if the record specified by "key" exists; 0 otherwise */
- int (*exists)(dav_db *db, const dav_prop_name *name);
-
- /*
- ** Iterate over the property names in the database.
- **
- ** iter->name.ns == iter->name.name == NULL when there are no more names.
- **
- ** Note: only one iteration may occur over the propdb at a time.
- */
- dav_error * (*first_name)(dav_db *db, dav_prop_name *pname);
- dav_error * (*next_name)(dav_db *db, dav_prop_name *pname);
-
- /*
- ** Rollback support: get rollback context, and apply it.
- **
- ** struct dav_deadprop_rollback is a provider-private structure; it
- ** should remember the name, and the name's old value (or the fact that
- ** the value was not present, and should be deleted if a rollback occurs).
- */
- dav_error * (*get_rollback)(dav_db *db, const dav_prop_name *name,
- dav_deadprop_rollback **prollback);
- dav_error * (*apply_rollback)(dav_db *db,
- dav_deadprop_rollback *rollback);
-
- /*
- ** If a provider needs a context to associate with this hooks structure,
- ** then this field may be used. In most cases, it will just be NULL.
- */
- void *ctx;
-};
-
-
-/* --------------------------------------------------------------------
-**
-** LOCK FUNCTIONS
-*/
-
-/* Used to represent a Timeout header of "Infinity" */
-#define DAV_TIMEOUT_INFINITE 0
-
-DAV_DECLARE(time_t) dav_get_timeout(request_rec *r);
-
-/*
-** Opaque, provider-specific information for a lock database.
-*/
-typedef struct dav_lockdb_private dav_lockdb_private;
-
-/*
-** Opaque, provider-specific information for a lock record.
-*/
-typedef struct dav_lock_private dav_lock_private;
-
-/*
-** Lock database type. Lock providers are urged to implement a "lazy" open, so
-** doing an "open" is cheap until something is actually needed from the DB.
-*/
-typedef struct
-{
- const dav_hooks_locks *hooks; /* the hooks used for this lockdb */
- int ro; /* was it opened readonly? */
-
- dav_lockdb_private *info;
-
-} dav_lockdb;
-
-typedef enum {
- DAV_LOCKSCOPE_UNKNOWN,
- DAV_LOCKSCOPE_EXCLUSIVE,
- DAV_LOCKSCOPE_SHARED
-} dav_lock_scope;
-
-typedef enum {
- DAV_LOCKTYPE_UNKNOWN,
- DAV_LOCKTYPE_WRITE
-} dav_lock_type;
-
-typedef enum {
- DAV_LOCKREC_DIRECT, /* lock asserted on this resource */
- DAV_LOCKREC_INDIRECT, /* lock inherited from a parent */
- DAV_LOCKREC_INDIRECT_PARTIAL /* most info is not filled in */
-} dav_lock_rectype;
-
-/*
-** dav_lock: hold information about a lock on a resource.
-**
-** This structure is used for both direct and indirect locks. A direct lock
-** is a lock applied to a specific resource by the client. An indirect lock
-** is one that is inherited from a parent resource by virtue of a non-zero
-** Depth: header when the lock was applied.
-**
-** mod_dav records both types of locks in the lock database, managing their
-** addition/removal as resources are moved about the namespace.
-**
-** Note that the lockdb is free to marshal this structure in any form that
-** it likes.
-**
-** For a "partial" lock, the <rectype> and <locktoken> fields must be filled
-** in. All other (user) fields should be zeroed. The lock provider will
-** usually fill in the <info> field, and the <next> field may be used to
-** construct a list of partial locks.
-**
-** The lock provider MUST use the info field to store a value such that a
-** dav_lock structure can locate itself in the underlying lock database.
-** This requirement is needed for refreshing: when an indirect dav_lock is
-** refreshed, its reference to the direct lock does not specify the direct's
-** resource, so the only way to locate the (refreshed, direct) lock in the
-** database is to use the info field.
-**
-** Note that <is_locknull> only refers to the resource where this lock was
-** found.
-** ### hrm. that says the abstraction is wrong. is_locknull may disappear.
-*/
-typedef struct dav_lock
-{
- dav_lock_rectype rectype; /* type of lock record */
- int is_locknull; /* lock establishes a locknull resource */
-
- /* ### put the resource in here? */
-
- dav_lock_scope scope; /* scope of the lock */
- dav_lock_type type; /* type of lock */
- int depth; /* depth of the lock */
- time_t timeout; /* when the lock will timeout */
-
- const dav_locktoken *locktoken; /* the token that was issued */
-
- const char *owner; /* (XML) owner of the lock */
- const char *auth_user; /* auth'd username owning lock */
-
- dav_lock_private *info; /* private to the lockdb */
-
- struct dav_lock *next; /* for managing a list of locks */
-} dav_lock;
-
-/* Property-related public lock functions */
-DAV_DECLARE(const char *)dav_lock_get_activelock(request_rec *r,
- dav_lock *locks,
- dav_buffer *pbuf);
-
-/* LockDB-related public lock functions */
-DAV_DECLARE(dav_error *) dav_lock_parse_lockinfo(request_rec *r,
- const dav_resource *resrouce,
- dav_lockdb *lockdb,
- const apr_xml_doc *doc,
- dav_lock **lock_request);
-DAV_DECLARE(int) dav_unlock(request_rec *r,
- const dav_resource *resource,
- const dav_locktoken *locktoken);
-DAV_DECLARE(dav_error *) dav_add_lock(request_rec *r,
- const dav_resource *resource,
- dav_lockdb *lockdb, dav_lock *request,
- dav_response **response);
-DAV_DECLARE(dav_error *) dav_notify_created(request_rec *r,
- dav_lockdb *lockdb,
- const dav_resource *resource,
- int resource_state,
- int depth);
-
-DAV_DECLARE(dav_error*) dav_lock_query(dav_lockdb *lockdb,
- const dav_resource *resource,
- dav_lock **locks);
-
-DAV_DECLARE(dav_error *) dav_validate_request(request_rec *r,
- dav_resource *resource,
- int depth,
- dav_locktoken *locktoken,
- dav_response **response,
- int flags,
- dav_lockdb *lockdb);
-/*
-** flags:
-** 0x0F -- reserved for <dav_lock_scope> values
-**
-** other flags, detailed below
-*/
-#define DAV_VALIDATE_RESOURCE 0x0010 /* validate just the resource */
-#define DAV_VALIDATE_PARENT 0x0020 /* validate resource AND its parent */
-#define DAV_VALIDATE_ADD_LD 0x0040 /* add DAV:lockdiscovery into
- the 424 DAV:response */
-#define DAV_VALIDATE_USE_424 0x0080 /* return 424 status, not 207 */
-#define DAV_VALIDATE_IS_PARENT 0x0100 /* for internal use */
-
-/* Lock-null related public lock functions */
-DAV_DECLARE(int) dav_get_resource_state(request_rec *r,
- const dav_resource *resource);
-
-/* Lock provider hooks. Locking is optional, so there may be no
- * lock provider for a given repository.
- */
-struct dav_hooks_locks
-{
- /* Return the supportedlock property for a resource */
- const char * (*get_supportedlock)(
- const dav_resource *resource
- );
-
- /* Parse a lock token URI, returning a lock token object allocated
- * in the given pool.
- */
- dav_error * (*parse_locktoken)(
- apr_pool_t *p,
- const char *char_token,
- dav_locktoken **locktoken_p
- );
-
- /* Format a lock token object into a URI string, allocated in
- * the given pool.
- *
- * Always returns non-NULL.
- */
- const char * (*format_locktoken)(
- apr_pool_t *p,
- const dav_locktoken *locktoken
- );
-
- /* Compare two lock tokens.
- *
- * Result < 0 => lt1 < lt2
- * Result == 0 => lt1 == lt2
- * Result > 0 => lt1 > lt2
- */
- int (*compare_locktoken)(
- const dav_locktoken *lt1,
- const dav_locktoken *lt2
- );
-
- /* Open the provider's lock database.
- *
- * The provider may or may not use a "real" database for locks
- * (a lock could be an attribute on a resource, for example).
- *
- * The provider may choose to use the value of the DAVLockDB directive
- * (as returned by dav_get_lockdb_path()) to decide where to place
- * any storage it may need.
- *
- * The request storage pool should be associated with the lockdb,
- * so it can be used in subsequent operations.
- *
- * If ro != 0, only readonly operations will be performed.
- * If force == 0, the open can be "lazy"; no subsequent locking operations
- * may occur.
- * If force != 0, locking operations will definitely occur.
- */
- dav_error * (*open_lockdb)(
- request_rec *r,
- int ro,
- int force,
- dav_lockdb **lockdb
- );
-
- /* Indicates completion of locking operations */
- void (*close_lockdb)(
- dav_lockdb *lockdb
- );
-
- /* Take a resource out of the lock-null state. */
- dav_error * (*remove_locknull_state)(
- dav_lockdb *lockdb,
- const dav_resource *resource
- );
-
- /*
- ** Create a (direct) lock structure for the given resource. A locktoken
- ** will be created.
- **
- ** The lock provider may store private information into lock->info.
- */
- dav_error * (*create_lock)(dav_lockdb *lockdb,
- const dav_resource *resource,
- dav_lock **lock);
-
- /*
- ** Get the locks associated with the specified resource.
- **
- ** If resolve_locks is true (non-zero), then any indirect locks are
- ** resolved to their actual, direct lock (i.e. the reference to followed
- ** to the original lock).
- **
- ** The locks, if any, are returned as a linked list in no particular
- ** order. If no locks are present, then *locks will be NULL.
- */
- dav_error * (*get_locks)(dav_lockdb *lockdb,
- const dav_resource *resource,
- int calltype,
- dav_lock **locks);
-
-#define DAV_GETLOCKS_RESOLVED 0 /* resolve indirects to directs */
-#define DAV_GETLOCKS_PARTIAL 1 /* leave indirects partially filled */
-#define DAV_GETLOCKS_COMPLETE 2 /* fill out indirect locks */
-
- /*
- ** Find a particular lock on a resource (specified by its locktoken).
- **
- ** *lock will be set to NULL if the lock is not found.
- **
- ** Note that the provider can optimize the unmarshalling -- only one
- ** lock (or none) must be constructed and returned.
- **
- ** If partial_ok is true (non-zero), then an indirect lock can be
- ** partially filled in. Otherwise, another lookup is done and the
- ** lock structure will be filled out as a DAV_LOCKREC_INDIRECT.
- */
- dav_error * (*find_lock)(dav_lockdb *lockdb,
- const dav_resource *resource,
- const dav_locktoken *locktoken,
- int partial_ok,
- dav_lock **lock);
-
- /*
- ** Quick test to see if the resource has *any* locks on it.
- **
- ** This is typically used to determine if a non-existent resource
- ** has a lock and is (therefore) a locknull resource.
- **
- ** WARNING: this function may return TRUE even when timed-out locks
- ** exist (i.e. it may not perform timeout checks).
- */
- dav_error * (*has_locks)(dav_lockdb *lockdb,
- const dav_resource *resource,
- int *locks_present);
-
- /*
- ** Append the specified lock(s) to the set of locks on this resource.
- **
- ** If "make_indirect" is true (non-zero), then the specified lock(s)
- ** should be converted to an indirect lock (if it is a direct lock)
- ** before appending. Note that the conversion to an indirect lock does
- ** not alter the passed-in lock -- the change is internal the
- ** append_locks function.
- **
- ** Multiple locks are specified using the lock->next links.
- */
- dav_error * (*append_locks)(dav_lockdb *lockdb,
- const dav_resource *resource,
- int make_indirect,
- const dav_lock *lock);
-
- /*
- ** Remove any lock that has the specified locktoken.
- **
- ** If locktoken == NULL, then ALL locks are removed.
- */
- dav_error * (*remove_lock)(dav_lockdb *lockdb,
- const dav_resource *resource,
- const dav_locktoken *locktoken);
-
- /*
- ** Refresh all locks, found on the specified resource, which has a
- ** locktoken in the provided list.
- **
- ** If the lock is indirect, then the direct lock is referenced and
- ** refreshed.
- **
- ** Each lock that is updated is returned in the <locks> argument.
- ** Note that the locks will be fully resolved.
- */
- dav_error * (*refresh_locks)(dav_lockdb *lockdb,
- const dav_resource *resource,
- const dav_locktoken_list *ltl,
- time_t new_time,
- dav_lock **locks);
-
- /*
- ** Look up the resource associated with a particular locktoken.
- **
- ** The search begins at the specified <start_resource> and the lock
- ** specified by <locktoken>.
- **
- ** If the resource/token specifies an indirect lock, then the direct
- ** lock will be looked up, and THAT resource will be returned. In other
- ** words, this function always returns the resource where a particular
- ** lock (token) was asserted.
- **
- ** NOTE: this function pointer is allowed to be NULL, indicating that
- ** the provider does not support this type of functionality. The
- ** caller should then traverse up the repository hierarchy looking
- ** for the resource defining a lock with this locktoken.
- */
- dav_error * (*lookup_resource)(dav_lockdb *lockdb,
- const dav_locktoken *locktoken,
- const dav_resource *start_resource,
- const dav_resource **resource);
-
- /*
- ** If a provider needs a context to associate with this hooks structure,
- ** then this field may be used. In most cases, it will just be NULL.
- */
- void *ctx;
-};
-
-/* what types of resources can be discovered by dav_get_resource_state() */
-#define DAV_RESOURCE_LOCK_NULL 10 /* resource lock-null */
-#define DAV_RESOURCE_NULL 11 /* resource null */
-#define DAV_RESOURCE_EXISTS 12 /* resource exists */
-#define DAV_RESOURCE_ERROR 13 /* an error occurred */
-
-
-/* --------------------------------------------------------------------
-**
-** PROPERTY HANDLING
-*/
-
-typedef struct dav_propdb dav_propdb;
-
-
-DAV_DECLARE(dav_error *) dav_open_propdb(
- request_rec *r,
- dav_lockdb *lockdb,
- const dav_resource *resource,
- int ro,
- apr_array_header_t *ns_xlate,
- dav_propdb **propdb);
-
-DAV_DECLARE(void) dav_close_propdb(dav_propdb *db);
-
-DAV_DECLARE(dav_get_props_result) dav_get_props(
- dav_propdb *db,
- apr_xml_doc *doc);
-
-DAV_DECLARE(dav_get_props_result) dav_get_allprops(
- dav_propdb *db,
- dav_prop_insert what);
-
-DAV_DECLARE(void) dav_get_liveprop_supported(
- dav_propdb *propdb,
- const char *ns_uri,
- const char *propname,
- apr_text_header *body);
-
-/*
-** 3-phase property modification.
-**
-** 1) validate props. readable? unlocked? ACLs allow access?
-** 2) execute operation (set/delete)
-** 3) commit or rollback
-**
-** ### eventually, auth must be available. a ref to the request_rec (which
-** ### contains the auth info) should be in the shared context struct.
-**
-** Each function may alter the error values and information contained within
-** the context record. This should be done as an "increasing" level of
-** error, rather than overwriting any previous error.
-**
-** Note that commit() cannot generate errors. It should simply free the
-** rollback information.
-**
-** rollback() may generate additional errors because the rollback operation
-** can sometimes fail(!).
-**
-** The caller should allocate an array of these, one per operation. It should
-** be zero-initialized, then the db, operation, and prop fields should be
-** filled in before calling dav_prop_validate. Note that the set/delete
-** operations are order-dependent. For a given (logical) context, the same
-** pointer must be passed to each phase.
-**
-** error_type is an internal value, but will have the same numeric value
-** for each possible "desc" value. This allows the caller to group the
-** descriptions via the error_type variable, rather than through string
-** comparisons. Note that "status" does not provide enough granularity to
-** differentiate/group the "desc" values.
-**
-** Note that the propdb will maintain some (global) context across all
-** of the property change contexts. This implies that you can have only
-** one open transaction per propdb.
-*/
-typedef struct dav_prop_ctx
-{
- dav_propdb *propdb;
-
- int operation;
-#define DAV_PROP_OP_SET 1 /* set a property value */
-#define DAV_PROP_OP_DELETE 2 /* delete a prop value */
-/* ### add a GET? */
-
- apr_xml_elem *prop; /* property to affect */
-
- dav_error *err; /* error (if any) */
-
- /* private items to the propdb */
- int is_liveprop;
- void *liveprop_ctx;
- struct dav_rollback_item *rollback; /* optional rollback info */
-
- /* private to mod_dav.c */
- request_rec *r;
-
-} dav_prop_ctx;
-
-DAV_DECLARE_NONSTD(void) dav_prop_validate(dav_prop_ctx *ctx);
-DAV_DECLARE_NONSTD(void) dav_prop_exec(dav_prop_ctx *ctx);
-DAV_DECLARE_NONSTD(void) dav_prop_commit(dav_prop_ctx *ctx);
-DAV_DECLARE_NONSTD(void) dav_prop_rollback(dav_prop_ctx *ctx);
-
-#define DAV_PROP_CTX_HAS_ERR(dpc) ((dpc).err && (dpc).err->status >= 300)
-
-
-/* --------------------------------------------------------------------
-**
-** WALKER STRUCTURE
-*/
-
-enum {
- DAV_CALLTYPE_MEMBER = 1, /* called for a member resource */
- DAV_CALLTYPE_COLLECTION, /* called for a collection */
- DAV_CALLTYPE_LOCKNULL /* called for a locknull resource */
-};
-
-typedef struct
-{
- /* the client-provided context */
- void *walk_ctx;
-
- /* pool to use for allocations in the callback */
- apr_pool_t *pool;
-
- /* the current resource */
- const dav_resource *resource;
-
- /* OUTPUT: add responses to this */
- dav_response *response;
-
-} dav_walk_resource;
-
-typedef struct
-{
- int walk_type;
-#define DAV_WALKTYPE_AUTH 0x0001 /* limit to authorized files */
-#define DAV_WALKTYPE_NORMAL 0x0002 /* walk normal files */
-#define DAV_WALKTYPE_LOCKNULL 0x0004 /* walk locknull resources */
-
- /* callback function and a client context for the walk */
- dav_error * (*func)(dav_walk_resource *wres, int calltype);
- void *walk_ctx;
-
- /* what pool to use for allocations needed by walk logic */
- apr_pool_t *pool;
-
- /* beginning root of the walk */
- const dav_resource *root;
-
- /* lock database to enable walking LOCKNULL resources */
- dav_lockdb *lockdb;
-
-} dav_walk_params;
-
-/* directory tree walking context */
-typedef struct dav_walker_ctx
-{
- /* input: */
- dav_walk_params w;
-
-
- /* ### client data... phasing out this big glom */
-
- /* this brigade buffers data being sent to r->output_filters */
- apr_bucket_brigade *bb;
-
- /* a scratch pool, used to stream responses and iteratively cleared. */
- apr_pool_t *scratchpool;
-
- request_rec *r; /* original request */
-
- /* for PROPFIND operations */
- apr_xml_doc *doc;
- int propfind_type;
-#define DAV_PROPFIND_IS_ALLPROP 1
-#define DAV_PROPFIND_IS_PROPNAME 2
-#define DAV_PROPFIND_IS_PROP 3
-
- apr_text *propstat_404; /* (cached) propstat giving a 404 error */
-
- const dav_if_header *if_header; /* for validation */
- const dav_locktoken *locktoken; /* for UNLOCK */
- const dav_lock *lock; /* for LOCK */
- int skip_root; /* for dav_inherit_locks() */
-
- int flags;
-
- dav_buffer work_buf; /* for dav_validate_request() */
-
-} dav_walker_ctx;
-
-DAV_DECLARE(void) dav_add_response(dav_walk_resource *wres,
- int status,
- dav_get_props_result *propstats);
-
-
-/* --------------------------------------------------------------------
-**
-** "STREAM" STRUCTURE
-**
-** mod_dav uses this abstraction for interacting with the repository
-** while fetching/storing resources. mod_dav views resources as a stream
-** of bytes.
-**
-** Note that the structure is opaque -- it is private to the repository
-** that created the stream in the repository's "open" function.
-**
-** ### THIS STUFF IS GOING AWAY ... GET/read requests are handled by
-** ### having the provider jam stuff straight into the filter stack.
-** ### this is only left for handling PUT/write requests.
-*/
-
-typedef struct dav_stream dav_stream;
-
-typedef enum {
- DAV_MODE_WRITE_TRUNC, /* truncate and open for writing */
- DAV_MODE_WRITE_SEEKABLE /* open for writing; random access */
-} dav_stream_mode;
-
-
-/* --------------------------------------------------------------------
-**
-** REPOSITORY FUNCTIONS
-*/
-
-/* Repository provider hooks */
-struct dav_hooks_repository
-{
- /* Flag for whether repository requires special GET handling.
- * If resources in the repository are not visible in the
- * filesystem location which URLs map to, then special handling
- * is required to first fetch a resource from the repository,
- * respond to the GET request, then free the resource copy.
- */
- int handle_get;
-
- /* Get a resource descriptor for the URI in a request. A descriptor
- * should always be returned even if the resource does not exist. This
- * repository has been identified as handling the resource given by
- * the URI, so an answer must be given. If there is a problem with the
- * URI or accessing the resource or whatever, then an error should be
- * returned.
- *
- * root_dir:
- * the root of the directory for which this repository is configured.
- *
- * label:
- * if a Label: header is present (and allowed), this is the label
- * to use to identify a version resource from the resource's
- * corresponding version history. Otherwise, it will be NULL.
- *
- * use_checked_in:
- * use the DAV:checked-in property of the resource identified by the
- * Request-URI to identify and return a version resource
- *
- * The provider may associate the request storage pool with the resource
- * (in the resource->pool field), to use in other operations on that
- * resource.
- */
- dav_error * (*get_resource)(
- request_rec *r,
- const char *root_dir,
- const char *label,
- int use_checked_in,
- dav_resource **resource
- );
-
- /* Get a resource descriptor for the parent of the given resource.
- * The resources need not exist. NULL is returned if the resource
- * is the root collection.
- *
- * An error should be returned only if there is a fatal error in
- * fetching information about the parent resource.
- */
- dav_error * (*get_parent_resource)(
- const dav_resource *resource,
- dav_resource **parent_resource
- );
-
- /* Determine whether two resource descriptors refer to the same resource.
- *
- * Result != 0 => the resources are the same.
- */
- int (*is_same_resource)(
- const dav_resource *res1,
- const dav_resource *res2
- );
-
- /* Determine whether one resource is a parent (immediate or otherwise)
- * of another.
- *
- * Result != 0 => res1 is a parent of res2.
- */
- int (*is_parent_resource)(
- const dav_resource *res1,
- const dav_resource *res2
- );
-
- /*
- ** Open a stream for this resource, using the specified mode. The
- ** stream will be returned in *stream.
- */
- dav_error * (*open_stream)(const dav_resource *resource,
- dav_stream_mode mode,
- dav_stream **stream);
-
- /*
- ** Close the specified stream.
- **
- ** mod_dav will (ideally) make sure to call this. For safety purposes,
- ** a provider should (ideally) register a cleanup function with the
- ** request pool to get this closed and cleaned up.
- **
- ** Note the possibility of an error from the close -- it is entirely
- ** feasible that the close does a "commit" of some kind, which can
- ** produce an error.
- **
- ** commit should be TRUE (non-zero) or FALSE (0) if the stream was
- ** opened for writing. This flag states whether to retain the file
- ** or not.
- ** Note: the commit flag is ignored for streams opened for reading.
- */
- dav_error * (*close_stream)(dav_stream *stream, int commit);
-
- /*
- ** Write data to the stream.
- **
- ** All of the bytes must be written, or an error should be returned.
- */
- dav_error * (*write_stream)(dav_stream *stream,
- const void *buf, apr_size_t bufsize);
-
- /*
- ** Seek to an absolute position in the stream. This is used to support
- ** Content-Range in a GET/PUT.
- **
- ** NOTE: if this function is NULL (which is allowed), then any
- ** operations using Content-Range will be refused.
- */
- dav_error * (*seek_stream)(dav_stream *stream, apr_off_t abs_position);
-
- /*
- ** If a GET is processed using a stream (open_stream, read_stream)
- ** rather than via a sub-request (on get_pathname), then this function
- ** is used to provide the repository with a way to set the headers
- ** in the response.
- **
- ** This function may be called without a following deliver(), to
- ** handle a HEAD request.
- **
- ** This may be NULL if handle_get is FALSE.
- */
- dav_error * (*set_headers)(request_rec *r,
- const dav_resource *resource);
-
- /*
- ** The provider should deliver the resource into the specified filter.
- ** Basically, this is the response to the GET method.
- **
- ** Note that this is called for all resources, including collections.
- ** The provider should determine what has content to deliver or not.
- **
- ** set_headers will be called prior to this function, allowing the
- ** provider to set the appropriate response headers.
- **
- ** This may be NULL if handle_get is FALSE.
- ** ### maybe toss handle_get and just use this function as the marker
- */
- dav_error * (*deliver)(const dav_resource *resource,
- ap_filter_t *output);
-
- /* Create a collection resource. The resource must not already exist.
- *
- * Result == NULL if the collection was created successfully. Also, the
- * resource object is updated to reflect that the resource exists, and
- * is a collection.
- */
- dav_error * (*create_collection)(
- dav_resource *resource
- );
-
- /* Copy one resource to another. The destination may exist, if it is
- * versioned.
- * Handles both files and collections. Properties are copied as well.
- * If the destination exists and is versioned, the provider must update
- * the destination to have identical content to the source,
- * recursively for collections.
- * The depth argument is ignored for a file, and can be either 0 or
- * DAV_INFINITY for a collection.
- * If an error occurs in a child resource, then the return value is
- * non-NULL, and *response is set to a multistatus response.
- * If the copy is successful, the dst resource object is
- * updated to reflect that the resource exists.
- */
- dav_error * (*copy_resource)(
- const dav_resource *src,
- dav_resource *dst,
- int depth,
- dav_response **response
- );
-
- /* Move one resource to another. The destination must not exist.
- * Handles both files and collections. Properties are moved as well.
- * If an error occurs in a child resource, then the return value is
- * non-NULL, and *response is set to a multistatus response.
- * If the move is successful, the src and dst resource objects are
- * updated to reflect that the source no longer exists, and the
- * destination does.
- */
- dav_error * (*move_resource)(
- dav_resource *src,
- dav_resource *dst,
- dav_response **response
- );
-
- /* Remove a resource. Handles both files and collections.
- * Removes any associated properties as well.
- * If an error occurs in a child resource, then the return value is
- * non-NULL, and *response is set to a multistatus response.
- * If the delete is successful, the resource object is updated to
- * reflect that the resource no longer exists.
- */
- dav_error * (*remove_resource)(
- dav_resource *resource,
- dav_response **response
- );
-
- /* Walk a resource hierarchy.
- *
- * Iterates over the resource hierarchy specified by params->root.
- * Control of the walk and the callback are specified by 'params'.
- *
- * An error may be returned. *response will contain multistatus
- * responses (if any) suitable for the body of the error. It is also
- * possible to return NULL, yet still have multistatus responses.
- * In this case, typically the caller should return a 207 (Multistatus)
- * and the responses (in the body) as the HTTP response.
- */
- dav_error * (*walk)(const dav_walk_params *params, int depth,
- dav_response **response);
-
- /* Get the entity tag for a resource */
- const char * (*getetag)(const dav_resource *resource);
-
- /*
- ** If a provider needs a context to associate with this hooks structure,
- ** then this field may be used. In most cases, it will just be NULL.
- */
- void *ctx;
-};
-
-
-/* --------------------------------------------------------------------
-**
-** VERSIONING FUNCTIONS
-*/
-
-
-/* dav_add_vary_header
- *
- * If there were any headers in the request which require a Vary header
- * in the response, add it.
- */
-DAV_DECLARE(void) dav_add_vary_header(request_rec *in_req,
- request_rec *out_req,
- const dav_resource *resource);
-
-/*
-** Flags specifying auto-versioning behavior, returned by
-** the auto_versionable hook. The value returned depends
-** on both the state of the resource and the value of the
-** DAV:auto-versioning property for the resource.
-**
-** If the resource does not exist (null or lock-null),
-** DAV_AUTO_VERSION_ALWAYS causes creation of a new version-controlled resource
-**
-** If the resource is checked in,
-** DAV_AUTO_VERSION_ALWAYS causes it to be checked out always,
-** DAV_AUTO_VERSION_LOCKED causes it to be checked out only when locked
-**
-** If the resource is checked out,
-** DAV_AUTO_VERSION_ALWAYS causes it to be checked in always,
-** DAV_AUTO_VERSION_LOCKED causes it to be checked in when unlocked
-** (note: a provider should allow auto-checkin only for resources which
-** were automatically checked out)
-**
-** In all cases, DAV_AUTO_VERSION_NEVER results in no auto-versioning behavior.
-*/
-typedef enum {
- DAV_AUTO_VERSION_NEVER,
- DAV_AUTO_VERSION_ALWAYS,
- DAV_AUTO_VERSION_LOCKED
-} dav_auto_version;
-
-/*
-** This structure is used to record what auto-versioning operations
-** were done to make a resource writable, so that they can be undone
-** at the end of a request.
-*/
-typedef struct {
- int resource_versioned; /* 1 => resource was auto-version-controlled */
- int resource_checkedout; /* 1 => resource was auto-checked-out */
- int parent_checkedout; /* 1 => parent was auto-checked-out */
- dav_resource *parent_resource; /* parent resource, if it was needed */
-} dav_auto_version_info;
-
-/* Ensure that a resource is writable. If there is no versioning
- * provider, then this is essentially a no-op. Versioning repositories
- * require explicit resource creation and checkout before they can
- * be written to. If a new resource is to be created, or an existing
- * resource deleted, the parent collection must be checked out as well.
- *
- * Set the parent_only flag to only make the parent collection writable.
- * Otherwise, both parent and child are made writable as needed. If the
- * child does not exist, then a new versioned resource is created and
- * checked out.
- *
- * If auto-versioning is not enabled for a versioned resource, then an error is
- * returned, since the resource cannot be modified.
- *
- * The dav_auto_version_info structure is filled in with enough information
- * to restore both parent and child resources to the state they were in
- * before the auto-versioning operations occurred.
- */
-DAV_DECLARE(dav_error *) dav_auto_checkout(
- request_rec *r,
- dav_resource *resource,
- int parent_only,
- dav_auto_version_info *av_info);
-
-/* Revert the writability of resources back to what they were
- * before they were modified. If undo == 0, then the resource
- * modifications are maintained (i.e. they are checked in).
- * If undo != 0, then resource modifications are discarded
- * (i.e. they are unchecked out).
- *
- * Set the unlock flag to indicate that the resource is about
- * to be unlocked; it will be checked in if the resource
- * auto-versioning property indicates it should be. In this case,
- * av_info is ignored, so it can be NULL.
- *
- * The resource argument may be NULL if only the parent resource
- * was checked out (i.e. the parent_only was != 0 in the
- * dav_auto_checkout call).
- */
-DAV_DECLARE(dav_error *) dav_auto_checkin(
- request_rec *r,
- dav_resource *resource,
- int undo,
- int unlock,
- dav_auto_version_info *av_info);
-
-/*
-** This structure is used to describe available reports
-**
-** "nmspace" should be valid XML and URL-quoted. mod_dav will place
-** double-quotes around it and use it in an xmlns declaration.
-*/
-typedef struct {
- const char *nmspace; /* namespace of the XML report element */
- const char *name; /* element name for the XML report */
-} dav_report_elem;
-
-
-/* Versioning provider hooks */
-struct dav_hooks_vsn
-{
- /*
- ** MANDATORY HOOKS
- ** The following hooks are mandatory for all versioning providers;
- ** they define the functionality needed to implement "core" versioning.
- */
-
- /* Return supported versioning options.
- * Each dav_text item in the list will be returned as a separate
- * DAV header. Providers are advised to limit the length of an
- * individual text item to 63 characters, to conform to the limit
- * used by MS Web Folders.
- */
- void (*get_vsn_options)(apr_pool_t *p, apr_text_header *phdr);
-
- /* Get the value of a specific option for an OPTIONS request.
- * The option being requested is given by the parsed XML
- * element object "elem". The value of the option should be
- * appended to the "option" text object.
- */
- dav_error * (*get_option)(const dav_resource *resource,
- const apr_xml_elem *elem,
- apr_text_header *option);
-
- /* Determine whether a non-versioned (or non-existent) resource
- * is versionable. Returns != 0 if resource can be versioned.
- */
- int (*versionable)(const dav_resource *resource);
-
- /* Determine whether auto-versioning is enabled for a resource
- * (which may not exist, or may not be versioned). If the resource
- * is a checked-out resource, the provider must only enable
- * auto-checkin if the resource was automatically checked out.
- *
- * The value returned depends on both the state of the resource
- * and the value of its DAV:auto-version property. See the description
- * of the dav_auto_version enumeration above for the details.
- */
- dav_auto_version (*auto_versionable)(const dav_resource *resource);
-
- /* Put a resource under version control. If the resource already
- * exists unversioned, then it becomes the initial version of the
- * new version history, and it is replaced by a version selector
- * which targets the new version.
- *
- * If the resource does not exist, then a new version-controlled
- * resource is created which either targets an existing version (if the
- * "target" argument is not NULL), or the initial, empty version
- * in a new history resource (if the "target" argument is NULL).
- *
- * If successful, the resource object state is updated appropriately
- * (that is, changed to refer to the new version-controlled resource).
- */
- dav_error * (*vsn_control)(dav_resource *resource,
- const char *target);
-
- /* Checkout a resource. If successful, the resource
- * object state is updated appropriately.
- *
- * The auto_checkout flag will be set if this checkout is being
- * done automatically, as part of some method which modifies
- * the resource. The provider must remember that the resource
- * was automatically checked out, so it can determine whether it
- * can be automatically checked in. (Auto-checkin should only be
- * enabled for resources which were automatically checked out.)
- *
- * If the working resource has a different URL from the
- * target resource, a dav_resource descriptor is returned
- * for the new working resource. Otherwise, the original
- * resource descriptor will refer to the working resource.
- * The working_resource argument can be NULL if the caller
- * is not interested in the working resource.
- *
- * If the client has specified DAV:unreserved or DAV:fork-ok in the
- * checkout request, then the corresponding flags are set. If
- * DAV:activity-set has been specified, then create_activity is set
- * if DAV:new was specified; otherwise, the DAV:href elements' CDATA
- * (the actual href text) is passed in the "activities" array (each
- * element of the array is a const char *). activities will be NULL
- * no DAV:activity-set was provided or when create_activity is set.
- */
- dav_error * (*checkout)(dav_resource *resource,
- int auto_checkout,
- int is_unreserved, int is_fork_ok,
- int create_activity,
- apr_array_header_t *activities,
- dav_resource **working_resource);
-
- /* Uncheckout a checked-out resource. If successful, the resource
- * object state is updated appropriately.
- */
- dav_error * (*uncheckout)(dav_resource *resource);
-
- /* Checkin a checked-out resource. If successful, the resource
- * object state is updated appropriately, and the
- * version_resource descriptor will refer to the new version.
- * The version_resource argument can be NULL if the caller
- * is not interested in the new version resource.
- *
- * If the client has specified DAV:keep-checked-out in the checkin
- * request, then the keep_checked_out flag is set. The provider
- * should create a new version, but keep the resource in the
- * checked-out state.
- */
- dav_error * (*checkin)(dav_resource *resource,
- int keep_checked_out,
- dav_resource **version_resource);
-
- /*
- ** Return the set of reports available at this resource.
- **
- ** An array of report elements should be returned, with an end-marker
- ** element containing namespace==NULL. The value of the
- ** DAV:supported-report-set property will be constructed and
- ** returned.
- */
- dav_error * (*avail_reports)(const dav_resource *resource,
- const dav_report_elem **reports);
-
- /*
- ** Determine whether a Label header can be used
- ** with a particular report. The dav_xml_doc structure
- ** contains the parsed report request body.
- ** Returns 0 if the Label header is not allowed.
- */
- int (*report_label_header_allowed)(const apr_xml_doc *doc);
-
- /*
- ** Generate a report on a resource. Since a provider is free
- ** to define its own reports, and the value of request headers
- ** may affect the interpretation of a report, the request record
- ** must be passed to this routine.
- **
- ** The dav_xml_doc structure contains the parsed report request
- ** body. The report response should be generated into the specified
- ** output filter.
- **
- ** If an error occurs, and a response has not yet been generated,
- ** then an error can be returned from this function. mod_dav will
- ** construct an appropriate error response. Once some output has
- ** been placed into the filter, however, the provider should not
- ** return an error -- there is no way that mod_dav can deliver it
- ** properly.
- **
- ** ### maybe we need a way to signal an error anyways, and then
- ** ### apache can abort the connection?
- */
- dav_error * (*deliver_report)(request_rec *r,
- const dav_resource *resource,
- const apr_xml_doc *doc,
- ap_filter_t *output);
-
- /*
- ** OPTIONAL HOOKS
- ** The following hooks are optional; if not defined, then the
- ** corresponding protocol methods will be unsupported.
- */
-
- /*
- ** Set the state of a checked-in version-controlled resource.
- **
- ** If the request specified a version, the version resource
- ** represents that version. If the request specified a label,
- ** then "version" is NULL, and "label" is the label.
- **
- ** The depth argument is ignored for a file, and can be 0, 1, or
- ** DAV_INFINITY for a collection. The depth argument only applies
- ** with a label, not a version.
- **
- ** If an error occurs in a child resource, then the return value is
- ** non-NULL, and *response is set to a multistatus response.
- **
- ** This hook is optional; if not defined, then the UPDATE method
- ** will not be supported.
- */
- dav_error * (*update)(const dav_resource *resource,
- const dav_resource *version,
- const char *label,
- int depth,
- dav_response **response);
-
- /*
- ** Add a label to a version. The resource is either a specific
- ** version, or a version selector, in which case the label should
- ** be added to the current target of the version selector. The
- ** version selector cannot be checked out.
- **
- ** If replace != 0, any existing label by the same name is
- ** effectively deleted first. Otherwise, it is an error to
- ** attempt to add a label which already exists on some version
- ** of the same history resource.
- **
- ** This hook is optional; if not defined, then the LABEL method
- ** will not be supported. If it is defined, then the remove_label
- ** hook must be defined also.
- */
- dav_error * (*add_label)(const dav_resource *resource,
- const char *label,
- int replace);
-
- /*
- ** Remove a label from a version. The resource is either a specific
- ** version, or a version selector, in which case the label should
- ** be added to the current target of the version selector. The
- ** version selector cannot be checked out.
- **
- ** It is an error if no such label exists on the specified version.
- **
- ** This hook is optional, but if defined, the add_label hook
- ** must be defined also.
- */
- dav_error * (*remove_label)(const dav_resource *resource,
- const char *label);
-
- /*
- ** Determine whether a null resource can be created as a workspace.
- ** The provider may restrict workspaces to certain locations.
- ** Returns 0 if the resource cannot be a workspace.
- **
- ** This hook is optional; if the provider does not support workspaces,
- ** it should be set to NULL.
- */
- int (*can_be_workspace)(const dav_resource *resource);
-
- /*
- ** Create a workspace resource. The resource must not already
- ** exist. Any <DAV:mkworkspace> element is passed to the provider
- ** in the "doc" structure; it may be empty.
- **
- ** If workspace creation is succesful, the state of the resource
- ** object is updated appropriately.
- **
- ** This hook is optional; if the provider does not support workspaces,
- ** it should be set to NULL.
- */
- dav_error * (*make_workspace)(dav_resource *resource,
- apr_xml_doc *doc);
-
- /*
- ** Determine whether a null resource can be created as an activity.
- ** The provider may restrict activities to certain locations.
- ** Returns 0 if the resource cannot be an activity.
- **
- ** This hook is optional; if the provider does not support activities,
- ** it should be set to NULL.
- */
- int (*can_be_activity)(const dav_resource *resource);
-
- /*
- ** Create an activity resource. The resource must not already
- ** exist.
- **
- ** If activity creation is succesful, the state of the resource
- ** object is updated appropriately.
- **
- ** This hook is optional; if the provider does not support activities,
- ** it should be set to NULL.
- */
- dav_error * (*make_activity)(dav_resource *resource);
-
- /*
- ** Merge a resource (tree) into target resource (tree).
- **
- ** ### more doc...
- **
- ** This hook is optional; if the provider does not support merging,
- ** then this should be set to NULL.
- */
- dav_error * (*merge)(dav_resource *target, dav_resource *source,
- int no_auto_merge, int no_checkout,
- apr_xml_elem *prop_elem,
- ap_filter_t *output);
-
- /*
- ** If a provider needs a context to associate with this hooks structure,
- ** then this field may be used. In most cases, it will just be NULL.
- */
- void *ctx;
-};
-
-
-/* --------------------------------------------------------------------
-**
-** BINDING FUNCTIONS
-*/
-
-/* binding provider hooks */
-struct dav_hooks_binding {
-
- /* Determine whether a resource can be the target of a binding.
- * Returns 0 if the resource cannot be a binding target.
- */
- int (*is_bindable)(const dav_resource *resource);
-
- /* Create a binding to a resource.
- * The resource argument is the target of the binding;
- * the binding argument must be a resource which does not already
- * exist.
- */
- dav_error * (*bind_resource)(const dav_resource *resource,
- dav_resource *binding);
-
- /*
- ** If a provider needs a context to associate with this hooks structure,
- ** then this field may be used. In most cases, it will just be NULL.
- */
- void *ctx;
-
-};
-
-
-/* --------------------------------------------------------------------
-**
-** SEARCH(DASL) FUNCTIONS
-*/
-
-/* search provider hooks */
-struct dav_hooks_search {
- /* Set header for a OPTION method
- * An error may be returned.
- * To set a hadder, this function might call
- * apr_table_setn(r->headers_out, "DASL", dasl_optin1);
- *
- * Examples:
- * DASL: <DAV:basicsearch>
- * DASL: <http://foo.bar.com/syntax1>
- * DASL: <http://akuma.com/syntax2>
- */
- dav_error * (*set_option_head)(request_rec *r);
-
- /* Search resources
- * An error may be returned. *response will contain multistatus
- * responses (if any) suitable for the body of the error. It is also
- * possible to return NULL, yet still have multistatus responses.
- * In this case, typically the caller should return a 207 (Multistatus)
- * and the responses (in the body) as the HTTP response.
- */
- dav_error * (*search_resource)(request_rec *r,
- dav_response **response);
-
- /*
- ** If a provider needs a context to associate with this hooks structure,
- ** then this field may be used. In most cases, it will just be NULL.
- */
- void *ctx;
-
-};
-
-
-/* --------------------------------------------------------------------
-**
-** MISCELLANEOUS STUFF
-*/
-
-/* fetch the "LimitXMLRequestBody" in force for this resource */
-DAV_DECLARE(apr_size_t) dav_get_limit_xml_body(const request_rec *r);
-
-typedef struct {
- int propid; /* live property ID */
- const dav_hooks_liveprop *provider; /* the provider defining this prop */
-} dav_elem_private;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _MOD_DAV_H_ */
diff --git a/rubbos/app/apache2/include/mod_include.h b/rubbos/app/apache2/include/mod_include.h
deleted file mode 100644
index 6264b888..00000000
--- a/rubbos/app/apache2/include/mod_include.h
+++ /dev/null
@@ -1,206 +0,0 @@
-/* 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_INCLUDE_H
-#define _MOD_INCLUDE_H 1
-
-#include "apr_pools.h"
-#include "apr_optional.h"
-
-#define STARTING_SEQUENCE "<!--#"
-#define ENDING_SEQUENCE "-->"
-
-#define DEFAULT_ERROR_MSG "[an error occurred while processing this directive]"
-#define DEFAULT_TIME_FORMAT "%A, %d-%b-%Y %H:%M:%S %Z"
-#define SIZEFMT_BYTES 0
-#define SIZEFMT_KMG 1
-#define TMP_BUF_SIZE 1024
-#if APR_CHARSET_EBCDIC
-#define RAW_ASCII_CHAR(ch) apr_xlate_conv_byte(ap_hdrs_from_ascii, (unsigned char)ch)
-#else /*APR_CHARSET_EBCDIC*/
-#define RAW_ASCII_CHAR(ch) (ch)
-#endif /*APR_CHARSET_EBCDIC*/
-
-/****************************************************************************
- * Used to keep context information during parsing of a request for SSI tags.
- * This is especially useful if the tag stretches across multiple buckets or
- * brigades. This keeps track of which buckets need to be replaced with the
- * content generated by the SSI tag.
- *
- * state: PRE_HEAD - State prior to finding the first character of the
- * STARTING_SEQUENCE. Next state is PARSE_HEAD.
- * PARSE_HEAD - State entered once the first character of the
- * STARTING_SEQUENCE is found and exited when the
- * the full STARTING_SEQUENCE has been matched or
- * a match failure occurs. Next state is PRE_HEAD
- * or PARSE_TAG.
- * PARSE_TAG - State entered once the STARTING sequence has been
- * matched. It is exited when the first character in
- * ENDING_SEQUENCE is found. Next state is PARSE_TAIL.
- * PARSE_TAIL - State entered from PARSE_TAG state when the first
- * character in ENDING_SEQUENCE is encountered. This
- * state is exited when the ENDING_SEQUENCE has been
- * completely matched, or when a match failure occurs.
- * Next state is PARSE_TAG or PARSED.
- * PARSED - State entered from PARSE_TAIL once the complete
- * ENDING_SEQUENCE has been matched. The SSI tag is
- * processed and the SSI buckets are replaced with the
- * SSI content during this state.
- * parse_pos: Current matched position within the STARTING_SEQUENCE or
- * ENDING_SEQUENCE during the PARSE_HEAD and PARSE_TAIL states.
- * This is especially useful when the sequence spans brigades.
- * X_start_bucket: These point to the buckets containing the first character
- * of the STARTING_SEQUENCE, the first non-whitespace
- * character of the tag, and the first character in the
- * ENDING_SEQUENCE (head_, tag_, and tail_ respectively).
- * The buckets are kept intact until the PARSED state is
- * reached, at which time the tag is consolidated and the
- * buckets are released. The buckets that these point to
- * have all been set aside in the ssi_tag_brigade (along
- * with all of the intervening buckets).
- * X_start_index: The index points within the specified bucket contents
- * where the first character of the STARTING_SEQUENCE,
- * the first non-whitespace character of the tag, and the
- * first character in the ENDING_SEQUENCE can be found
- * (head_, tag_, and tail_ respectively).
- * combined_tag: Once the PARSED state is reached the tag is collected from
- * the bucket(s) in the ssi_tag_brigade into this contiguous
- * buffer. The buckets in the ssi_tag_brigade are released
- * and the tag is processed.
- * curr_tag_pos: Ptr to the combined_tag buffer indicating the current
- * parse position.
- * tag_length: The number of bytes in the actual tag (excluding the
- * STARTING_SEQUENCE, leading and trailing whitespace,
- * and ENDING_SEQUENCE). This length is computed as the
- * buckets are parsed and set aside during the PARSE_TAG state.
- * ssi_tag_brigade: The temporary brigade used by this filter to set aside
- * the buckets containing parts of the ssi tag and headers.
- */
-
-/* I keep this stuff here, because of binary compat. It probably doesn't care,
- * but who knows ...?
- */
-#ifdef MOD_INCLUDE_REDESIGN
-typedef enum {PRE_HEAD, BLOW_PARSE_HEAD, BLOW_PARSE_DIRECTIVE, PARSE_TAG,
- BLOW_PARSE_TAIL, PARSED} states;
-#else
-typedef enum {PRE_HEAD, PARSE_HEAD, PARSE_DIRECTIVE, PARSE_TAG, PARSE_TAIL,
- PARSED} states;
-#endif
-
-/** forward referenced as it needs to be held on the context */
-typedef struct bndm_t bndm_t;
-
-typedef struct include_filter_ctx {
- states state;
- long flags; /* See the FLAG_XXXXX definitions. */
- int if_nesting_level;
- apr_size_t parse_pos;
- int bytes_parsed;
- apr_status_t status;
- int output_now;
- int output_flush;
-
- apr_bucket *head_start_bucket;
- apr_size_t head_start_index;
-
- apr_bucket *tag_start_bucket;
- apr_size_t tag_start_index;
-
- apr_bucket *tail_start_bucket;
- apr_size_t tail_start_index;
-
- char *combined_tag;
- char *curr_tag_pos;
- apr_size_t directive_length;
- apr_size_t tag_length;
-
- char *error_str;
- char *error_str_override;
- char *time_str;
- char *time_str_override;
- apr_pool_t *pool;
-
- apr_bucket_brigade *ssi_tag_brigade;
- bndm_t *start_seq_pat;
- char *start_seq;
- int start_seq_len;
- char *end_seq;
- char *re_string;
- regmatch_t (*re_result)[10];
-} include_ctx_t;
-
-/* These flags are used to set flag bits. */
-#define FLAG_PRINTING 0x00000001 /* Printing conditional lines. */
-#define FLAG_COND_TRUE 0x00000002 /* Conditional eval'd to true. */
-#define FLAG_SIZE_IN_BYTES 0x00000004 /* Sizes displayed in bytes. */
-#define FLAG_NO_EXEC 0x00000008 /* No Exec in current context. */
-
-/* These flags are used to clear flag bits. */
-#define FLAG_SIZE_ABBREV 0xFFFFFFFB /* Reset SIZE_IN_BYTES bit. */
-#define FLAG_CLEAR_PRINT_COND 0xFFFFFFFC /* Reset PRINTING and COND_TRUE*/
-#define FLAG_CLEAR_PRINTING 0xFFFFFFFE /* Reset just PRINTING bit. */
-
-#define CREATE_ERROR_BUCKET(cntx, t_buck, h_ptr, ins_head) \
-{ \
- /* XXX: it'd probably be nice to use a pool bucket here */ \
- t_buck = apr_bucket_heap_create(cntx->error_str, \
- strlen(cntx->error_str), \
- NULL, h_ptr->list); \
- APR_BUCKET_INSERT_BEFORE(h_ptr, t_buck); \
- \
- if (ins_head == NULL) { \
- ins_head = t_buck; \
- } \
-}
-
-/* Make sure to check the return code rc. If it is anything other
- * than APR_SUCCESS, then you should return this value up the
- * call chain.
- */
-#define SPLIT_AND_PASS_PRETAG_BUCKETS(brgd, cntxt, next, rc) \
-if ((APR_BRIGADE_EMPTY((cntxt)->ssi_tag_brigade)) && \
- ((cntxt)->head_start_bucket != NULL)) { \
- apr_bucket_brigade *tag_plus; \
- \
- tag_plus = apr_brigade_split((brgd), (cntxt)->head_start_bucket); \
- if ((cntxt)->output_flush) { \
- APR_BRIGADE_INSERT_TAIL((brgd), apr_bucket_flush_create((brgd)->bucket_alloc)); \
- } \
- (rc) = ap_pass_brigade((next), (brgd)); \
- (cntxt)->bytes_parsed = 0; \
- (brgd) = tag_plus; \
-}
-
-
-typedef int (include_handler_fn_t)(include_ctx_t *ctx, apr_bucket_brigade **bb,
- request_rec *r, ap_filter_t *f, apr_bucket *head_ptr,
- apr_bucket **inserted_head);
-
-APR_DECLARE_OPTIONAL_FN(void, ap_ssi_get_tag_and_value, (include_ctx_t *ctx,
- char **tag,
- char **tag_val,
- int dodecode));
-APR_DECLARE_OPTIONAL_FN(char*, ap_ssi_parse_string, (request_rec *r,
- include_ctx_t *ctx,
- const char *in,
- char *out,
- apr_size_t length,
- int leave_name));
-APR_DECLARE_OPTIONAL_FN(void, ap_register_include_handler,
- (char *tag, include_handler_fn_t *func));
-
-#endif /* MOD_INCLUDE */
diff --git a/rubbos/app/apache2/include/mod_log_config.h b/rubbos/app/apache2/include/mod_log_config.h
deleted file mode 100644
index 00e79014..00000000
--- a/rubbos/app/apache2/include/mod_log_config.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* 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.
- */
-
-#include "apr_optional.h"
-#include "httpd.h"
-#include "scoreboard.h"
-
-#ifndef _MOD_LOG_CONFIG_H
-#define _MOD_LOG_CONFIG_H 1
-
-/**
- * callback function prototype for a external log handler
- */
-typedef const char *ap_log_handler_fn_t(request_rec *r, char *a);
-
-/**
- * callback function prototype for external writer initialization.
- */
-typedef void *ap_log_writer_init(apr_pool_t *p, server_rec *s,
- const char *name);
-/**
- * callback which gets called where there is a log line to write.
- */
-typedef apr_status_t ap_log_writer(
- request_rec *r,
- void *handle,
- const char **portions,
- int *lengths,
- int nelts,
- apr_size_t len);
-
-typedef struct ap_log_handler {
- ap_log_handler_fn_t *func;
- int want_orig_default;
-} ap_log_handler;
-
-APR_DECLARE_OPTIONAL_FN(void, ap_register_log_handler,
- (apr_pool_t *p, char *tag, ap_log_handler_fn_t *func,
- int def));
-/**
- * you will need to set your init handler *BEFORE* the open_logs
- * in mod_log_config gets executed
- */
-APR_DECLARE_OPTIONAL_FN(void, ap_log_set_writer_init,(ap_log_writer_init *func));
-/**
- * you should probably set the writer at the same time (ie..before open_logs)
- */
-APR_DECLARE_OPTIONAL_FN(void, ap_log_set_writer, (ap_log_writer* func));
-
-#endif /* MOD_LOG_CONFIG */
diff --git a/rubbos/app/apache2/include/mod_proxy.h b/rubbos/app/apache2/include/mod_proxy.h
deleted file mode 100644
index d1ed7d46..00000000
--- a/rubbos/app/apache2/include/mod_proxy.h
+++ /dev/null
@@ -1,255 +0,0 @@
-/* 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_PROXY_H
-#define MOD_PROXY_H
-
-/*
- * Main include file for the Apache proxy
- */
-
-/*
-
- Also note numerous FIXMEs and CHECKMEs which should be eliminated.
-
- This code is once again experimental!
-
- Things to do:
-
- 1. Make it completely work (for FTP too)
-
- 2. HTTP/1.1
-
- Chuck Murcko <chuck@topsail.org> 02-06-01
-
- */
-
-#define CORE_PRIVATE
-
-#include "apr_hooks.h"
-#include "apr.h"
-#include "apr_lib.h"
-#include "apr_strings.h"
-#include "apr_buckets.h"
-#include "apr_md5.h"
-#include "apr_network_io.h"
-#include "apr_pools.h"
-#include "apr_strings.h"
-#include "apr_uri.h"
-#include "apr_date.h"
-#include "apr_fnmatch.h"
-#define APR_WANT_STRFUNC
-#include "apr_want.h"
-
-#include "httpd.h"
-#include "http_config.h"
-#include "ap_config.h"
-#include "http_core.h"
-#include "http_protocol.h"
-#include "http_request.h"
-#include "http_vhost.h"
-#include "http_main.h"
-#include "http_log.h"
-#include "http_connection.h"
-#include "util_filter.h"
-#include "util_ebcdic.h"
-
-#if APR_HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#if APR_HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-
-/* for proxy_canonenc() */
-enum enctype {
- enc_path, enc_search, enc_user, enc_fpath, enc_parm
-};
-
-#if APR_CHARSET_EBCDIC
-#define CRLF "\r\n"
-#else /*APR_CHARSET_EBCDIC*/
-#define CRLF "\015\012"
-#endif /*APR_CHARSET_EBCDIC*/
-
-/* default Max-Forwards header setting */
-#define DEFAULT_MAX_FORWARDS 10
-
-/* static information about a remote proxy */
-struct proxy_remote {
- const char *scheme; /* the schemes handled by this proxy, or '*' */
- const char *protocol; /* the scheme used to talk to this proxy */
- const char *hostname; /* the hostname of this proxy */
- apr_port_t port; /* the port for this proxy */
- regex_t *regexp; /* compiled regex (if any) for the remote */
- int use_regex; /* simple boolean. True if we have a regex pattern */
-};
-
-struct proxy_alias {
- const char *real;
- const char *fake;
-};
-
-struct dirconn_entry {
- char *name;
- struct in_addr addr, mask;
- struct apr_sockaddr_t *hostaddr;
- int (*matcher) (struct dirconn_entry * This, request_rec *r);
-};
-
-struct noproxy_entry {
- const char *name;
- struct apr_sockaddr_t *addr;
-};
-
-typedef struct {
- apr_array_header_t *proxies;
- apr_array_header_t *sec_proxy;
- apr_array_header_t *aliases;
- apr_array_header_t *raliases;
- apr_array_header_t *noproxies;
- apr_array_header_t *dirconn;
- apr_array_header_t *allowed_connect_ports;
- const char *domain; /* domain name to use in absence of a domain name in the request */
- int req; /* true if proxy requests are enabled */
- char req_set;
- enum {
- via_off,
- via_on,
- via_block,
- via_full
- } viaopt; /* how to deal with proxy Via: headers */
- char viaopt_set;
- apr_size_t recv_buffer_size;
- char recv_buffer_size_set;
- apr_size_t io_buffer_size;
- char io_buffer_size_set;
- long maxfwd;
- char maxfwd_set;
- /**
- * the following setting masks the error page
- * returned from the 'proxied server' and just
- * forwards the status code upwards.
- * This allows the main server (us) to generate
- * the error page, (so it will look like a error
- * returned from the rest of the system
- */
- int error_override;
- int error_override_set;
- int preserve_host;
- int preserve_host_set;
- apr_interval_time_t timeout;
- apr_interval_time_t timeout_set;
- enum {
- bad_error,
- bad_ignore,
- bad_body
- } badopt; /* how to deal with bad headers */
- char badopt_set;
-
-} proxy_server_conf;
-
-typedef struct {
- const char *p; /* The path */
- int p_is_fnmatch; /* Is this path an fnmatch candidate? */
- regex_t *r; /* Is this a regex? */
- const char *ftp_directory_charset;
-} proxy_dir_conf;
-
-typedef struct {
- conn_rec *connection;
- char *hostname;
- apr_port_t port;
- int is_ssl;
-} proxy_conn_rec;
-
-typedef struct {
- float cache_completion; /* completion percentage */
- int content_length; /* length of the content */
-} proxy_completion;
-
-
-/* hooks */
-
-/* Create a set of PROXY_DECLARE(type), PROXY_DECLARE_NONSTD(type) and
- * PROXY_DECLARE_DATA with appropriate export and import tags for the platform
- */
-#if !defined(WIN32)
-#define PROXY_DECLARE(type) type
-#define PROXY_DECLARE_NONSTD(type) type
-#define PROXY_DECLARE_DATA
-#elif defined(PROXY_DECLARE_STATIC)
-#define PROXY_DECLARE(type) type __stdcall
-#define PROXY_DECLARE_NONSTD(type) type
-#define PROXY_DECLARE_DATA
-#elif defined(PROXY_DECLARE_EXPORT)
-#define PROXY_DECLARE(type) __declspec(dllexport) type __stdcall
-#define PROXY_DECLARE_NONSTD(type) __declspec(dllexport) type
-#define PROXY_DECLARE_DATA __declspec(dllexport)
-#else
-#define PROXY_DECLARE(type) __declspec(dllimport) type __stdcall
-#define PROXY_DECLARE_NONSTD(type) __declspec(dllimport) type
-#define PROXY_DECLARE_DATA __declspec(dllimport)
-#endif
-
-/**
- * Hook an optional proxy hook. Unlike static hooks, this uses a macro
- * instead of a function.
- */
-#define PROXY_OPTIONAL_HOOK(name,fn,pre,succ,order) \
- APR_OPTIONAL_HOOK(proxy,name,fn,pre,succ,order)
-
-APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, scheme_handler, (request_rec *r,
- proxy_server_conf *conf, char *url,
- const char *proxyhost, apr_port_t proxyport))
-APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, canon_handler, (request_rec *r,
- char *url))
-
-APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, create_req, (request_rec *r, request_rec *pr))
-APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, fixups, (request_rec *r))
-
-/* proxy_util.c */
-
-PROXY_DECLARE(request_rec *)ap_proxy_make_fake_req(conn_rec *c, request_rec *r);
-PROXY_DECLARE(int) ap_proxy_hex2c(const char *x);
-PROXY_DECLARE(void) ap_proxy_c2hex(int ch, char *x);
-PROXY_DECLARE(char *)ap_proxy_canonenc(apr_pool_t *p, const char *x, int len, enum enctype t,
- int isenc);
-PROXY_DECLARE(char *)ap_proxy_canon_netloc(apr_pool_t *p, char **const urlp, char **userp,
- char **passwordp, char **hostp, apr_port_t *port);
-PROXY_DECLARE(const char *)ap_proxy_date_canon(apr_pool_t *p, const char *x);
-PROXY_DECLARE(apr_table_t *)ap_proxy_read_headers(request_rec *r, request_rec *rp, char *buffer, int size, conn_rec *c);
-PROXY_DECLARE(int) ap_proxy_liststr(const char *list, const char *val);
-PROXY_DECLARE(char *)ap_proxy_removestr(apr_pool_t *pool, const char *list, const char *val);
-PROXY_DECLARE(int) ap_proxy_hex2sec(const char *x);
-PROXY_DECLARE(void) ap_proxy_sec2hex(int t, char *y);
-PROXY_DECLARE(int) ap_proxyerror(request_rec *r, int statuscode, const char *message);
-PROXY_DECLARE(int) ap_proxy_is_ipaddr(struct dirconn_entry *This, apr_pool_t *p);
-PROXY_DECLARE(int) ap_proxy_is_domainname(struct dirconn_entry *This, apr_pool_t *p);
-PROXY_DECLARE(int) ap_proxy_is_hostname(struct dirconn_entry *This, apr_pool_t *p);
-PROXY_DECLARE(int) ap_proxy_is_word(struct dirconn_entry *This, apr_pool_t *p);
-PROXY_DECLARE(int) ap_proxy_checkproxyblock(request_rec *r, proxy_server_conf *conf, apr_sockaddr_t *uri_addr);
-PROXY_DECLARE(int) ap_proxy_pre_http_request(conn_rec *c, request_rec *r);
-PROXY_DECLARE(apr_status_t) ap_proxy_string_read(conn_rec *c, apr_bucket_brigade *bb, char *buff, size_t bufflen, int *eos);
-PROXY_DECLARE(void) ap_proxy_table_unmerge(apr_pool_t *p, apr_table_t *t, char *key);
-PROXY_DECLARE(int) ap_proxy_connect_to_backend(apr_socket_t **, const char *, apr_sockaddr_t *, const char *, proxy_server_conf *, server_rec *, apr_pool_t *);
-PROXY_DECLARE(int) ap_proxy_ssl_enable(conn_rec *c);
-PROXY_DECLARE(int) ap_proxy_ssl_disable(conn_rec *c);
-
-/* For proxy_util */
-extern module AP_MODULE_DECLARE_DATA proxy_module;
-
-#endif /*MOD_PROXY_H*/
diff --git a/rubbos/app/apache2/include/mod_ssl.h b/rubbos/app/apache2/include/mod_ssl.h
deleted file mode 100644
index 6f69c26f..00000000
--- a/rubbos/app/apache2/include/mod_ssl.h
+++ /dev/null
@@ -1,724 +0,0 @@
-/* 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.
- */
-
-/* _ _
- * _ __ ___ ___ __| | ___ ___| | mod_ssl
- * | '_ ` _ \ / _ \ / _` | / __/ __| | Apache Interface to OpenSSL
- * | | | | | | (_) | (_| | \__ \__ \ |
- * |_| |_| |_|\___/ \__,_|___|___/___/_|
- * |_____|
- * mod_ssl.h
- * Global header
- */
- /* ``The Apache Group: a collection
- of talented individuals who are
- trying to perfect the art of
- never finishing something.''
- -- Rob Hartill */
-#ifndef __MOD_SSL_H__
-#define __MOD_SSL_H__
-
-/*
- * Optionally enable the experimental stuff, but allow the user to
- * override the decision which experimental parts are included by using
- * CFLAGS="-DSSL_EXPERIMENTAL_xxxx_IGNORE".
- */
-#ifdef SSL_EXPERIMENTAL
-#ifdef SSL_ENGINE
-#ifndef SSL_EXPERIMENTAL_ENGINE_IGNORE
-#define SSL_EXPERIMENTAL_ENGINE
-#endif
-#endif
-#endif /* SSL_EXPERIMENTAL */
-
-/*
- * Power up our brain...
- */
-
-/* Apache headers */
-#include "httpd.h"
-#include "http_config.h"
-#include "http_core.h"
-#include "http_log.h"
-#include "http_main.h"
-#include "http_connection.h"
-#include "http_request.h"
-#include "http_protocol.h"
-#include "util_script.h"
-#include "util_filter.h"
-#include "mpm.h"
-#include "apr.h"
-#include "apr_strings.h"
-#define APR_WANT_STRFUNC
-#include "apr_want.h"
-#include "apr_tables.h"
-#include "apr_lib.h"
-#include "apr_fnmatch.h"
-#include "apr_strings.h"
-#include "apr_dbm.h"
-#include "apr_rmm.h"
-#include "apr_shm.h"
-#include "apr_global_mutex.h"
-#include "apr_optional.h"
-
-#define MOD_SSL_VERSION AP_SERVER_BASEREVISION
-
-#ifdef HAVE_SSLC
-
-#include <bio.h>
-#include <ssl.h>
-#include <err.h>
-#include <x509.h>
-#include <pem.h>
-#include <evp.h>
-#include <objects.h>
-#include <sslc.h>
-
-#else /* !HAVE_SSLC (implicit HAVE_OPENSSL) */
-
-#include <ssl.h>
-#include <err.h>
-#include <x509.h>
-#include <pem.h>
-#include <crypto.h>
-#include <evp.h>
-#include <rand.h>
-#ifdef SSL_EXPERIMENTAL_ENGINE
-#include <engine.h>
-#endif
-#ifdef HAVE_SSL_X509V3_H
-#include <x509v3.h>
-#endif
-
-#endif /* !HAVE_SSLC (implicit HAVE_OPENSSL) */
-
-
-/* mod_ssl headers */
-#include "ssl_toolkit_compat.h"
-#include "ssl_expr.h"
-#include "ssl_util_ssl.h"
-#include "ssl_util_table.h"
-
-/* The #ifdef macros are only defined AFTER including the above
- * therefore we cannot include these system files at the top :-(
- */
-#if APR_HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-#if APR_HAVE_UNISTD_H
-#include <unistd.h> /* needed for STDIN_FILENO et.al., at least on FreeBSD */
-#endif
-
-/*
- * Provide reasonable default for some defines
- */
-#ifndef FALSE
-#define FALSE (0)
-#endif
-#ifndef TRUE
-#define TRUE (!FALSE)
-#endif
-#ifndef PFALSE
-#define PFALSE ((void *)FALSE)
-#endif
-#ifndef PTRUE
-#define PTRUE ((void *)TRUE)
-#endif
-#ifndef UNSET
-#define UNSET (-1)
-#endif
-#ifndef NUL
-#define NUL '\0'
-#endif
-#ifndef RAND_MAX
-#include <limits.h>
-#define RAND_MAX INT_MAX
-#endif
-
-/*
- * Provide reasonable defines for some types
- */
-#ifndef BOOL
-#define BOOL unsigned int
-#endif
-#ifndef UCHAR
-#define UCHAR unsigned char
-#endif
-
-/*
- * Provide useful shorthands
- */
-#define strEQ(s1,s2) (strcmp(s1,s2) == 0)
-#define strNE(s1,s2) (strcmp(s1,s2) != 0)
-#define strEQn(s1,s2,n) (strncmp(s1,s2,n) == 0)
-#define strNEn(s1,s2,n) (strncmp(s1,s2,n) != 0)
-
-#define strcEQ(s1,s2) (strcasecmp(s1,s2) == 0)
-#define strcNE(s1,s2) (strcasecmp(s1,s2) != 0)
-#define strcEQn(s1,s2,n) (strncasecmp(s1,s2,n) == 0)
-#define strcNEn(s1,s2,n) (strncasecmp(s1,s2,n) != 0)
-
-#define strIsEmpty(s) (s == NULL || s[0] == NUL)
-
-#define myConnConfig(c) \
-(SSLConnRec *)ap_get_module_config(c->conn_config, &ssl_module)
-#define myCtxConfig(sslconn, sc) (sslconn->is_proxy ? sc->proxy : sc->server)
-#define myConnConfigSet(c, val) \
-ap_set_module_config(c->conn_config, &ssl_module, val)
-#define mySrvConfig(srv) (SSLSrvConfigRec *)ap_get_module_config(srv->module_config, &ssl_module)
-#define myDirConfig(req) (SSLDirConfigRec *)ap_get_module_config(req->per_dir_config, &ssl_module)
-#define myModConfig(srv) (mySrvConfig((srv)))->mc
-
-#define myCtxVarSet(mc,num,val) mc->rCtx.pV##num = val
-#define myCtxVarGet(mc,num,type) (type)(mc->rCtx.pV##num)
-
-/*
- * Defaults for the configuration
- */
-#ifndef SSL_SESSION_CACHE_TIMEOUT
-#define SSL_SESSION_CACHE_TIMEOUT 300
-#endif
-
-/*
- * Support for MM library
- */
-#define SSL_MM_FILE_MODE ( APR_UREAD | APR_UWRITE | APR_GREAD | APR_WREAD )
-
-/*
- * Support for DBM library
- */
-#define SSL_DBM_FILE_MODE ( APR_UREAD | APR_UWRITE | APR_GREAD | APR_WREAD )
-
-#if !defined(SSL_DBM_FILE_SUFFIX_DIR) && !defined(SSL_DBM_FILE_SUFFIX_PAG)
-#if defined(DBM_SUFFIX)
-#define SSL_DBM_FILE_SUFFIX_DIR DBM_SUFFIX
-#define SSL_DBM_FILE_SUFFIX_PAG DBM_SUFFIX
-#elif defined(__FreeBSD__) || (defined(DB_LOCK) && defined(DB_SHMEM))
-#define SSL_DBM_FILE_SUFFIX_DIR ".db"
-#define SSL_DBM_FILE_SUFFIX_PAG ".db"
-#else
-#define SSL_DBM_FILE_SUFFIX_DIR ".dir"
-#define SSL_DBM_FILE_SUFFIX_PAG ".pag"
-#endif
-#endif
-
-/*
- * Define the certificate algorithm types
- */
-
-typedef int ssl_algo_t;
-
-#define SSL_ALGO_UNKNOWN (0)
-#define SSL_ALGO_RSA (1<<0)
-#define SSL_ALGO_DSA (1<<1)
-#define SSL_ALGO_ALL (SSL_ALGO_RSA|SSL_ALGO_DSA)
-
-#define SSL_AIDX_RSA (0)
-#define SSL_AIDX_DSA (1)
-#define SSL_AIDX_MAX (2)
-
-
-/*
- * Define IDs for the temporary RSA keys and DH params
- */
-
-#define SSL_TMP_KEY_RSA_512 (0)
-#define SSL_TMP_KEY_RSA_1024 (1)
-#define SSL_TMP_KEY_DH_512 (2)
-#define SSL_TMP_KEY_DH_1024 (3)
-#define SSL_TMP_KEY_MAX (4)
-
-/*
- * Define the SSL options
- */
-#define SSL_OPT_NONE (0)
-#define SSL_OPT_RELSET (1<<0)
-#define SSL_OPT_STDENVVARS (1<<1)
-#define SSL_OPT_COMPATENVVARS (1<<2)
-#define SSL_OPT_EXPORTCERTDATA (1<<3)
-#define SSL_OPT_FAKEBASICAUTH (1<<4)
-#define SSL_OPT_STRICTREQUIRE (1<<5)
-#define SSL_OPT_OPTRENEGOTIATE (1<<6)
-#define SSL_OPT_ALL (SSL_OPT_STDENVVARS|SSL_OPT_COMPATENVVAR|SSL_OPT_EXPORTCERTDATA|SSL_OPT_FAKEBASICAUTH|SSL_OPT_STRICTREQUIRE|SSL_OPT_OPTRENEGOTIATE)
-typedef int ssl_opt_t;
-
-/*
- * Define the SSL Protocol options
- */
-#define SSL_PROTOCOL_NONE (0)
-#define SSL_PROTOCOL_SSLV2 (1<<0)
-#define SSL_PROTOCOL_SSLV3 (1<<1)
-#define SSL_PROTOCOL_TLSV1 (1<<2)
-#define SSL_PROTOCOL_ALL (SSL_PROTOCOL_SSLV2|SSL_PROTOCOL_SSLV3|SSL_PROTOCOL_TLSV1)
-typedef int ssl_proto_t;
-
-/*
- * Define the SSL verify levels
- */
-typedef enum {
- SSL_CVERIFY_UNSET = UNSET,
- SSL_CVERIFY_NONE = 0,
- SSL_CVERIFY_OPTIONAL = 1,
- SSL_CVERIFY_REQUIRE = 2,
- SSL_CVERIFY_OPTIONAL_NO_CA = 3
-} ssl_verify_t;
-
-#define SSL_VERIFY_PEER_STRICT \
- (SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT)
-
-#ifndef X509_V_ERR_CERT_UNTRUSTED
-#define X509_V_ERR_CERT_UNTRUSTED 27
-#endif
-
-#define ssl_verify_error_is_optional(errnum) \
- ((errnum == X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT) \
- || (errnum == X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN) \
- || (errnum == X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY) \
- || (errnum == X509_V_ERR_CERT_UNTRUSTED) \
- || (errnum == X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE))
-
-/*
- * Define the SSL pass phrase dialog types
- */
-typedef enum {
- SSL_PPTYPE_UNSET = UNSET,
- SSL_PPTYPE_BUILTIN = 0,
- SSL_PPTYPE_FILTER = 1,
- SSL_PPTYPE_PIPE = 2
-} ssl_pphrase_t;
-
-/*
- * Define the Path Checking modes
- */
-#define SSL_PCM_EXISTS 1
-#define SSL_PCM_ISREG 2
-#define SSL_PCM_ISDIR 4
-#define SSL_PCM_ISNONZERO 8
-typedef unsigned int ssl_pathcheck_t;
-
-/*
- * Define the SSL session cache modes and structures
- */
-typedef enum {
- SSL_SCMODE_UNSET = UNSET,
- SSL_SCMODE_NONE = 0,
- SSL_SCMODE_DBM = 1,
- SSL_SCMODE_SHMHT = 2,
- SSL_SCMODE_SHMCB = 3
-} ssl_scmode_t;
-
-/*
- * Define the SSL mutex modes
- */
-typedef enum {
- SSL_MUTEXMODE_UNSET = UNSET,
- SSL_MUTEXMODE_NONE = 0,
- SSL_MUTEXMODE_USED = 1
-} ssl_mutexmode_t;
-
-/*
- * Define the SSL requirement structure
- */
-typedef struct {
- char *cpExpr;
- ssl_expr *mpExpr;
-} ssl_require_t;
-
-/*
- * Define the SSL random number generator seeding source
- */
-typedef enum {
- SSL_RSCTX_STARTUP = 1,
- SSL_RSCTX_CONNECT = 2
-} ssl_rsctx_t;
-typedef enum {
- SSL_RSSRC_BUILTIN = 1,
- SSL_RSSRC_FILE = 2,
- SSL_RSSRC_EXEC = 3,
- SSL_RSSRC_EGD = 4
-} ssl_rssrc_t;
-typedef struct {
- ssl_rsctx_t nCtx;
- ssl_rssrc_t nSrc;
- char *cpPath;
- int nBytes;
-} ssl_randseed_t;
-
-/*
- * Define the structure of an ASN.1 anything
- */
-typedef struct {
- long int nData;
- unsigned char *cpData;
- apr_time_t source_mtime;
-} ssl_asn1_t;
-
-/*
- * Define the mod_ssl per-module configuration structure
- * (i.e. the global configuration for each httpd process)
- */
-
-typedef enum {
- SSL_SHUTDOWN_TYPE_UNSET,
- SSL_SHUTDOWN_TYPE_STANDARD,
- SSL_SHUTDOWN_TYPE_UNCLEAN,
- SSL_SHUTDOWN_TYPE_ACCURATE
-} ssl_shutdown_type_e;
-
-typedef struct {
- SSL *ssl;
- const char *client_dn;
- X509 *client_cert;
- ssl_shutdown_type_e shutdown_type;
- const char *verify_info;
- const char *verify_error;
- int verify_depth;
- int is_proxy;
- int disabled;
- int non_ssl_request;
-
- /* Track the handshake/renegotiation state for the connection so
- * that all client-initiated renegotiations can be rejected, as a
- * partial fix for CVE-2009-3555. */
- enum {
- RENEG_INIT = 0, /* Before initial handshake */
- RENEG_REJECT, /* After initial handshake; any client-initiated
- * renegotiation should be rejected */
- RENEG_ALLOW, /* A server-initated renegotiation is taking
- * place (as dictated by configuration) */
- RENEG_ABORT /* Renegotiation initiated by client, abort the
- * connection */
- } reneg_state;
-} SSLConnRec;
-
-typedef struct {
- pid_t pid;
- apr_pool_t *pPool;
- BOOL bFixed;
- int nSessionCacheMode;
- char *szSessionCacheDataFile;
- int nSessionCacheDataSize;
- apr_shm_t *pSessionCacheDataMM;
- apr_rmm_t *pSessionCacheDataRMM;
- apr_table_t *tSessionCacheDataTable;
- ssl_mutexmode_t nMutexMode;
- apr_lockmech_e nMutexMech;
- const char *szMutexFile;
- apr_global_mutex_t *pMutex;
- apr_array_header_t *aRandSeed;
- apr_hash_t *tVHostKeys;
- void *pTmpKeys[SSL_TMP_KEY_MAX];
- apr_hash_t *tPublicCert;
- apr_hash_t *tPrivateKey;
-#ifdef SSL_EXPERIMENTAL_ENGINE
- char *szCryptoDevice;
-#endif
- struct {
- void *pV1, *pV2, *pV3, *pV4, *pV5, *pV6, *pV7, *pV8, *pV9, *pV10;
- } rCtx;
-} SSLModConfigRec;
-
-/* public cert/private key */
-typedef struct {
- /*
- * server only has 1-2 certs/keys
- * 1 RSA and/or 1 DSA
- */
- const char *cert_files[SSL_AIDX_MAX];
- const char *key_files[SSL_AIDX_MAX];
- X509 *certs[SSL_AIDX_MAX];
- EVP_PKEY *keys[SSL_AIDX_MAX];
-} modssl_pk_server_t;
-
-typedef struct {
- /* proxy can have any number of cert/key pairs */
- const char *cert_file;
- const char *cert_path;
- STACK_OF(X509_INFO) *certs;
-} modssl_pk_proxy_t;
-
-/* stuff related to authentication that can also be per-dir */
-typedef struct {
- /* known/trusted CAs */
- const char *ca_cert_path;
- const char *ca_cert_file;
-
- const char *cipher_suite;
-
- /* for client or downstream server authentication */
- int verify_depth;
- ssl_verify_t verify_mode;
-} modssl_auth_ctx_t;
-
-typedef struct SSLSrvConfigRec SSLSrvConfigRec;
-
-typedef struct {
- SSLSrvConfigRec *sc; /* pointer back to server config */
- SSL_CTX *ssl_ctx;
-
- /* we are one or the other */
- modssl_pk_server_t *pks;
- modssl_pk_proxy_t *pkp;
-
- ssl_proto_t protocol;
-
- /* config for handling encrypted keys */
- ssl_pphrase_t pphrase_dialog_type;
- const char *pphrase_dialog_path;
-
- const char *cert_chain;
-
- /* certificate revocation list */
- const char *crl_path;
- const char *crl_file;
- X509_STORE *crl;
-
- modssl_auth_ctx_t auth;
-} modssl_ctx_t;
-
-struct SSLSrvConfigRec {
- SSLModConfigRec *mc;
- BOOL enabled;
- BOOL proxy_enabled;
- const char *vhost_id;
- int vhost_id_len;
- int session_cache_timeout;
- BOOL insecure_reneg;
- modssl_ctx_t *server;
- modssl_ctx_t *proxy;
-};
-
-/*
- * Define the mod_ssl per-directory configuration structure
- * (i.e. the local configuration for all <Directory>
- * and .htaccess contexts)
- */
-typedef struct {
- BOOL bSSLRequired;
- apr_array_header_t *aRequirement;
- ssl_opt_t nOptions;
- ssl_opt_t nOptionsAdd;
- ssl_opt_t nOptionsDel;
- const char *szCipherSuite;
- ssl_verify_t nVerifyClient;
- int nVerifyDepth;
- const char *szCACertificatePath;
- const char *szCACertificateFile;
- const char *szUserName;
-} SSLDirConfigRec;
-
-/*
- * function prototypes
- */
-
-/* API glue structures */
-extern module AP_MODULE_DECLARE_DATA ssl_module;
-
-/* "global" stuff */
-extern const char ssl_valid_ssl_mutex_string[];
-
-/* configuration handling */
-SSLModConfigRec *ssl_config_global_create(server_rec *);
-void ssl_config_global_fix(SSLModConfigRec *);
-BOOL ssl_config_global_isfixed(SSLModConfigRec *);
-void *ssl_config_server_create(apr_pool_t *, server_rec *);
-void *ssl_config_server_merge(apr_pool_t *, void *, void *);
-void *ssl_config_perdir_create(apr_pool_t *, char *);
-void *ssl_config_perdir_merge(apr_pool_t *, void *, void *);
-const char *ssl_cmd_SSLMutex(cmd_parms *, void *, const char *);
-const char *ssl_cmd_SSLPassPhraseDialog(cmd_parms *, void *, const char *);
-const char *ssl_cmd_SSLCryptoDevice(cmd_parms *, void *, const char *);
-const char *ssl_cmd_SSLRandomSeed(cmd_parms *, void *, const char *, const char *, const char *);
-const char *ssl_cmd_SSLEngine(cmd_parms *, void *, int);
-const char *ssl_cmd_SSLCipherSuite(cmd_parms *, void *, const char *);
-const char *ssl_cmd_SSLCertificateFile(cmd_parms *, void *, const char *);
-const char *ssl_cmd_SSLCertificateKeyFile(cmd_parms *, void *, const char *);
-const char *ssl_cmd_SSLCertificateChainFile(cmd_parms *, void *, const char *);
-const char *ssl_cmd_SSLCACertificatePath(cmd_parms *, void *, const char *);
-const char *ssl_cmd_SSLCACertificateFile(cmd_parms *, void *, const char *);
-const char *ssl_cmd_SSLCARevocationPath(cmd_parms *, void *, const char *);
-const char *ssl_cmd_SSLCARevocationFile(cmd_parms *, void *, const char *);
-const char *ssl_cmd_SSLVerifyClient(cmd_parms *, void *, const char *);
-const char *ssl_cmd_SSLVerifyDepth(cmd_parms *, void *, const char *);
-const char *ssl_cmd_SSLSessionCache(cmd_parms *, void *, const char *);
-const char *ssl_cmd_SSLSessionCacheTimeout(cmd_parms *, void *, const char *);
-const char *ssl_cmd_SSLProtocol(cmd_parms *, void *, const char *);
-const char *ssl_cmd_SSLOptions(cmd_parms *, void *, const char *);
-const char *ssl_cmd_SSLRequireSSL(cmd_parms *, void *);
-const char *ssl_cmd_SSLRequire(cmd_parms *, void *, const char *);
-const char *ssl_cmd_SSLUserName(cmd_parms *, void *, const char *);
-const char *ssl_cmd_SSLInsecureRenegotiation(cmd_parms *cmd, void *dcfg, int flag);
-
-const char *ssl_cmd_SSLProxyEngine(cmd_parms *cmd, void *dcfg, int flag);
-const char *ssl_cmd_SSLProxyProtocol(cmd_parms *, void *, const char *);
-const char *ssl_cmd_SSLProxyCipherSuite(cmd_parms *, void *, const char *);
-const char *ssl_cmd_SSLProxyVerify(cmd_parms *, void *, const char *);
-const char *ssl_cmd_SSLProxyVerifyDepth(cmd_parms *, void *, const char *);
-const char *ssl_cmd_SSLProxyCACertificatePath(cmd_parms *, void *, const char *);
-const char *ssl_cmd_SSLProxyCACertificateFile(cmd_parms *, void *, const char *);
-const char *ssl_cmd_SSLProxyCARevocationPath(cmd_parms *, void *, const char *);
-const char *ssl_cmd_SSLProxyCARevocationFile(cmd_parms *, void *, const char *);
-const char *ssl_cmd_SSLProxyMachineCertificatePath(cmd_parms *, void *, const char *);
-const char *ssl_cmd_SSLProxyMachineCertificateFile(cmd_parms *, void *, const char *);
-
-/* module initialization */
-int ssl_init_Module(apr_pool_t *, apr_pool_t *, apr_pool_t *, server_rec *);
-void ssl_init_Engine(server_rec *, apr_pool_t *);
-void ssl_init_ConfigureServer(server_rec *, apr_pool_t *, apr_pool_t *, SSLSrvConfigRec *);
-void ssl_init_CheckServers(server_rec *, apr_pool_t *);
-STACK_OF(X509_NAME)
- *ssl_init_FindCAList(server_rec *, apr_pool_t *, const char *, const char *);
-void ssl_init_Child(apr_pool_t *, server_rec *);
-apr_status_t ssl_init_ModuleKill(void *data);
-
-/* Apache API hooks */
-int ssl_hook_Auth(request_rec *);
-int ssl_hook_UserCheck(request_rec *);
-int ssl_hook_Access(request_rec *);
-int ssl_hook_Fixup(request_rec *);
-int ssl_hook_ReadReq(request_rec *);
-
-/* OpenSSL callbacks */
-RSA *ssl_callback_TmpRSA(SSL *, int, int);
-DH *ssl_callback_TmpDH(SSL *, int, int);
-int ssl_callback_SSLVerify(int, X509_STORE_CTX *);
-int ssl_callback_SSLVerify_CRL(int, X509_STORE_CTX *, conn_rec *);
-int ssl_callback_proxy_cert(SSL *ssl, MODSSL_CLIENT_CERT_CB_ARG_TYPE **x509, EVP_PKEY **pkey);
-int ssl_callback_NewSessionCacheEntry(SSL *, SSL_SESSION *);
-SSL_SESSION *ssl_callback_GetSessionCacheEntry(SSL *, unsigned char *, int, int *);
-void ssl_callback_DelSessionCacheEntry(SSL_CTX *, SSL_SESSION *);
-void ssl_callback_Info(MODSSL_INFO_CB_ARG_TYPE, int, int);
-
-/* Session Cache Support */
-void ssl_scache_init(server_rec *, apr_pool_t *);
-#if 0 /* XXX */
-void ssl_scache_status_register(apr_pool_t *p);
-#endif
-void ssl_scache_kill(server_rec *);
-BOOL ssl_scache_store(server_rec *, UCHAR *, int, time_t, SSL_SESSION *);
-SSL_SESSION *ssl_scache_retrieve(server_rec *, UCHAR *, int);
-void ssl_scache_remove(server_rec *, UCHAR *, int);
-void ssl_scache_expire(server_rec *);
-void ssl_scache_status(server_rec *, apr_pool_t *, void (*)(char *, void *), void *);
-char *ssl_scache_id2sz(UCHAR *, int);
-void ssl_scache_dbm_init(server_rec *, apr_pool_t *);
-void ssl_scache_dbm_kill(server_rec *);
-BOOL ssl_scache_dbm_store(server_rec *, UCHAR *, int, time_t, SSL_SESSION *);
-SSL_SESSION *ssl_scache_dbm_retrieve(server_rec *, UCHAR *, int);
-void ssl_scache_dbm_remove(server_rec *, UCHAR *, int);
-void ssl_scache_dbm_expire(server_rec *);
-void ssl_scache_dbm_status(server_rec *, apr_pool_t *, void (*)(char *, void *), void *);
-
-void ssl_scache_shmht_init(server_rec *, apr_pool_t *);
-void ssl_scache_shmht_kill(server_rec *);
-BOOL ssl_scache_shmht_store(server_rec *, UCHAR *, int, time_t, SSL_SESSION *);
-SSL_SESSION *ssl_scache_shmht_retrieve(server_rec *, UCHAR *, int);
-void ssl_scache_shmht_remove(server_rec *, UCHAR *, int);
-void ssl_scache_shmht_expire(server_rec *);
-void ssl_scache_shmht_status(server_rec *, apr_pool_t *, void (*)(char *, void *), void *);
-
-void ssl_scache_shmcb_init(server_rec *, apr_pool_t *);
-void ssl_scache_shmcb_kill(server_rec *);
-BOOL ssl_scache_shmcb_store(server_rec *, UCHAR *, int, time_t, SSL_SESSION *);
-SSL_SESSION *ssl_scache_shmcb_retrieve(server_rec *, UCHAR *, int);
-void ssl_scache_shmcb_remove(server_rec *, UCHAR *, int);
-void ssl_scache_shmcb_expire(server_rec *);
-void ssl_scache_shmcb_status(server_rec *, apr_pool_t *, void (*)(char *, void *), void *);
-
-/* Pass Phrase Support */
-void ssl_pphrase_Handle(server_rec *, apr_pool_t *);
-
-/* Diffie-Hellman Parameter Support */
-DH *ssl_dh_GetTmpParam(int);
-DH *ssl_dh_GetParamFromFile(char *);
-
-unsigned char *ssl_asn1_table_set(apr_hash_t *table,
- const char *key,
- long int length);
-
-ssl_asn1_t *ssl_asn1_table_get(apr_hash_t *table,
- const char *key);
-
-void ssl_asn1_table_unset(apr_hash_t *table,
- const char *key);
-
-const char *ssl_asn1_keystr(int keytype);
-
-const char *ssl_asn1_table_keyfmt(apr_pool_t *p,
- const char *id,
- int keytype);
-/* Mutex Support */
-int ssl_mutex_init(server_rec *, apr_pool_t *);
-int ssl_mutex_reinit(server_rec *, apr_pool_t *);
-int ssl_mutex_on(server_rec *);
-int ssl_mutex_off(server_rec *);
-
-/* Logfile Support */
-void ssl_die(void);
-void ssl_log_ssl_error(const char *, int, int, server_rec *);
-
-/* Variables */
-void ssl_var_register(void);
-char *ssl_var_lookup(apr_pool_t *, server_rec *, conn_rec *, request_rec *, char *);
-void ssl_var_log_config_register(apr_pool_t *p);
-
-APR_DECLARE_OPTIONAL_FN(char *, ssl_var_lookup,
- (apr_pool_t *, server_rec *,
- conn_rec *, request_rec *,
- char *));
-
-/* An optional function which returns non-zero if the given connection
- * is using SSL/TLS. */
-APR_DECLARE_OPTIONAL_FN(int, ssl_is_https, (conn_rec *));
-
-/* Proxy Support */
-int ssl_proxy_enable(conn_rec *c);
-int ssl_engine_disable(conn_rec *c);
-
-APR_DECLARE_OPTIONAL_FN(int, ssl_proxy_enable, (conn_rec *));
-
-APR_DECLARE_OPTIONAL_FN(int, ssl_engine_disable, (conn_rec *));
-
-/* I/O */
-void ssl_io_filter_init(conn_rec *, SSL *);
-void ssl_io_filter_register(apr_pool_t *);
-long ssl_io_data_cb(BIO *, int, MODSSL_BIO_CB_ARG_TYPE *, int, long, long);
-
-/* ssl_io_buffer_fill fills the setaside buffering of the HTTP request
- * to allow an SSL renegotiation to take place. */
-int ssl_io_buffer_fill(request_rec *r);
-
-/* PRNG */
-int ssl_rand_seed(server_rec *, apr_pool_t *, ssl_rsctx_t, char *);
-
-/* Utility Functions */
-char *ssl_util_vhostid(apr_pool_t *, server_rec *);
-void ssl_util_strupper(char *);
-void ssl_util_uuencode(char *, const char *, BOOL);
-void ssl_util_uuencode_binary(unsigned char *, const unsigned char *, int, BOOL);
-apr_file_t *ssl_util_ppopen(server_rec *, apr_pool_t *, const char *,
- const char * const *);
-void ssl_util_ppclose(server_rec *, apr_pool_t *, apr_file_t *);
-char *ssl_util_readfilter(server_rec *, apr_pool_t *, const char *,
- const char * const *);
-BOOL ssl_util_path_check(ssl_pathcheck_t, const char *, apr_pool_t *);
-ssl_algo_t ssl_util_algotypeof(X509 *, EVP_PKEY *);
-char *ssl_util_algotypestr(ssl_algo_t);
-char *ssl_util_ptxtsub(apr_pool_t *, const char *, const char *, char *);
-void ssl_util_thread_setup(apr_pool_t *);
-
-#define APR_SHM_MAXSIZE (64 * 1024 * 1024)
-#endif /* __MOD_SSL_H__ */
diff --git a/rubbos/app/apache2/include/mod_status.h b/rubbos/app/apache2/include/mod_status.h
deleted file mode 100644
index 03911a02..00000000
--- a/rubbos/app/apache2/include/mod_status.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* 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_STATUS_H
-#define MOD_STATUS_H
-
-#include "ap_config.h"
-#include "httpd.h"
-
-#define AP_STATUS_SHORT (0x1) /* short, non-HTML report requested */
-#define AP_STATUS_NOTABLE (0x2) /* HTML report without tables */
-#define AP_STATUS_EXTENDED (0x4) /* detailed report */
-
-#if !defined(WIN32)
-#define STATUS_DECLARE(type) type
-#define STATUS_DECLARE_NONSTD(type) type
-#define STATUS_DECLARE_DATA
-#elif defined(STATUS_DECLARE_STATIC)
-#define STATUS_DECLARE(type) type __stdcall
-#define STATUS_DECLARE_NONSTD(type) type
-#define STATUS_DECLARE_DATA
-#elif defined(STATUS_DECLARE_EXPORT)
-#define STATUS_DECLARE(type) __declspec(dllexport) type __stdcall
-#define STATUS_DECLARE_NONSTD(type) __declspec(dllexport) type
-#define STATUS_DECLARE_DATA __declspec(dllexport)
-#else
-#define STATUS_DECLARE(type) __declspec(dllimport) type __stdcall
-#define STATUS_DECLARE_NONSTD(type) __declspec(dllimport) type
-#define STATUS_DECLARE_DATA __declspec(dllimport)
-#endif
-
-/* Optional hooks which can insert extra content into the mod_status
- * output. FLAGS will be set to the bitwise OR of any of the
- * AP_STATUS_* flags.
- *
- * Implementations of this hook should generate content using
- * functions in the ap_rputs/ap_rprintf family; each hook should
- * return OK or DECLINED. */
-APR_DECLARE_EXTERNAL_HOOK(ap, STATUS, int, status_hook,
- (request_rec *r, int flags))
-#endif
diff --git a/rubbos/app/apache2/include/mpm.h b/rubbos/app/apache2/include/mpm.h
deleted file mode 100644
index 31830c6c..00000000
--- a/rubbos/app/apache2/include/mpm.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* 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.
- */
-
-#include "scoreboard.h"
-#include "unixd.h"
-
-#ifndef APACHE_MPM_WORKER_H
-#define APACHE_MPM_WORKER_H
-
-#define WORKER_MPM
-
-#define MPM_NAME "Worker"
-
-#define AP_MPM_WANT_RECLAIM_CHILD_PROCESSES
-#define AP_MPM_WANT_WAIT_OR_TIMEOUT
-#define AP_MPM_WANT_PROCESS_CHILD_STATUS
-#define AP_MPM_WANT_SET_PIDFILE
-#define AP_MPM_WANT_SET_SCOREBOARD
-#define AP_MPM_WANT_SET_LOCKFILE
-#define AP_MPM_WANT_SET_MAX_REQUESTS
-#define AP_MPM_WANT_SET_COREDUMPDIR
-#define AP_MPM_WANT_SET_ACCEPT_LOCK_MECH
-#define AP_MPM_WANT_SIGNAL_SERVER
-#define AP_MPM_WANT_SET_MAX_MEM_FREE
-#define AP_MPM_WANT_FATAL_SIGNAL_HANDLER
-#define AP_MPM_DISABLE_NAGLE_ACCEPTED_SOCK
-
-#define MPM_CHILD_PID(i) (ap_scoreboard_image->parent[i].pid)
-#define MPM_NOTE_CHILD_KILLED(i) (MPM_CHILD_PID(i) = 0)
-#define MPM_ACCEPT_FUNC unixd_accept
-
-extern int ap_threads_per_child;
-extern int ap_max_daemons_limit;
-extern server_rec *ap_server_conf;
-extern char ap_coredump_dir[MAX_STRING_LEN];
-
-#endif /* APACHE_MPM_WORKER_H */
diff --git a/rubbos/app/apache2/include/mpm_common.h b/rubbos/app/apache2/include/mpm_common.h
deleted file mode 100644
index 68ead5f7..00000000
--- a/rubbos/app/apache2/include/mpm_common.h
+++ /dev/null
@@ -1,298 +0,0 @@
-/* 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.
- */
-
-/* The purpose of this file is to store the code that MOST mpm's will need
- * this does not mean a function only goes into this file if every MPM needs
- * it. It means that if a function is needed by more than one MPM, and
- * future maintenance would be served by making the code common, then the
- * function belongs here.
- *
- * This is going in src/main because it is not platform specific, it is
- * specific to multi-process servers, but NOT to Unix. Which is why it
- * does not belong in src/os/unix
- */
-
-#ifndef APACHE_MPM_COMMON_H
-#define APACHE_MPM_COMMON_H
-
-#include "ap_config.h"
-
-#if APR_HAVE_NETINET_TCP_H
-#include <netinet/tcp.h> /* for TCP_NODELAY */
-#endif
-
-#include "mpm.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @package Multi-Processing Modules functions
- */
-
-/* The maximum length of the queue of pending connections, as defined
- * by listen(2). Under some systems, it should be increased if you
- * are experiencing a heavy TCP SYN flood attack.
- *
- * It defaults to 511 instead of 512 because some systems store it
- * as an 8-bit datatype; 512 truncated to 8-bits is 0, while 511 is
- * 255 when truncated.
- */
-#ifndef DEFAULT_LISTENBACKLOG
-#define DEFAULT_LISTENBACKLOG 511
-#endif
-
-/**
- * Make sure all child processes that have been spawned by the parent process
- * have died. This includes process registered as "other_children".
- * @warning This is only defined if the MPM defines
- * AP_MPM_WANT_RECLAIM_CHILD_PROCESSES
- * @param terminate Either 1 or 0. If 1, send the child processes SIGTERM
- * each time through the loop. If 0, give the process time to die
- * on its own before signalling it.
- * @tip This function requires that some macros are defined by the MPM: <pre>
- * MPM_CHILD_PID -- Get the pid from the specified spot in the scoreboard
- * MPM_NOTE_CHILD_KILLED -- Note the child died in the scoreboard
- * </pre>
- * @tip The MPM child processes which are reclaimed are those listed
- * in the scoreboard as well as those currently registered via
- * ap_register_extra_mpm_process().
- */
-#ifdef AP_MPM_WANT_RECLAIM_CHILD_PROCESSES
-void ap_reclaim_child_processes(int terminate);
-#endif
-
-/**
- * Tell ap_reclaim_child_processes() about an MPM child process which has no
- * entry in the scoreboard.
- * @warning This is only defined if the MPM defines
- * AP_MPM_WANT_RECLAIM_CHILD_PROCESSES
- * @param pid The process id of an MPM child process which should be
- * reclaimed when ap_reclaim_child_processes() is called.
- * @tip If an extra MPM child process terminates prior to calling
- * ap_reclaim_child_processes(), remove it from the list of such processes
- * by calling ap_unregister_extra_mpm_process().
- */
-#ifdef AP_MPM_WANT_RECLAIM_CHILD_PROCESSES
-void ap_register_extra_mpm_process(pid_t pid);
-#endif
-
-/**
- * Unregister an MPM child process which was previously registered by a
- * call to ap_register_extra_mpm_process().
- * @warning This is only defined if the MPM defines
- * AP_MPM_WANT_RECLAIM_CHILD_PROCESSES
- * @param pid The process id of an MPM child process which no longer needs to
- * be reclaimed.
- * @return 1 if the process was found and removed, 0 otherwise
- */
-#ifdef AP_MPM_WANT_RECLAIM_CHILD_PROCESSES
-int ap_unregister_extra_mpm_process(pid_t pid);
-#endif
-
-/**
- * Determine if any child process has died. If no child process died, then
- * this process sleeps for the amount of time specified by the MPM defined
- * macro SCOREBOARD_MAINTENANCE_INTERVAL.
- * @param status The return code if a process has died
- * @param ret The process id of the process that died
- * @param p The pool to allocate out of
- */
-#ifdef AP_MPM_WANT_WAIT_OR_TIMEOUT
-void ap_wait_or_timeout(apr_exit_why_e *status, int *exitcode, apr_proc_t *ret,
- apr_pool_t *p);
-#endif
-
-/**
- * Log why a child died to the error log, if the child died without the
- * parent signalling it.
- * @param pid The child that has died
- * @param status The status returned from ap_wait_or_timeout
- * @return 0 on success, APEXIT_CHILDFATAL if MPM should terminate
- */
-#ifdef AP_MPM_WANT_PROCESS_CHILD_STATUS
-int ap_process_child_status(apr_proc_t *pid, apr_exit_why_e why, int status);
-#endif
-
-#if defined(TCP_NODELAY) && !defined(MPE) && !defined(TPF)
-/**
- * Turn off the nagle algorithm for the specified socket. The nagle algorithm
- * says that we should delay sending partial packets in the hopes of getting
- * more data. There are bad interactions between persistent connections and
- * Nagle's algorithm that have severe performance penalties.
- * @param s The socket to disable nagle for.
- */
-void ap_sock_disable_nagle(apr_socket_t *s);
-#else
-#define ap_sock_disable_nagle(s) /* NOOP */
-#endif
-
-#ifdef HAVE_GETPWNAM
-/**
- * Convert a username to a numeric ID
- * @param name The name to convert
- * @return The user id corresponding to a name
- * @deffunc uid_t ap_uname2id(const char *name)
- */
-AP_DECLARE(uid_t) ap_uname2id(const char *name);
-#endif
-
-#ifdef HAVE_GETGRNAM
-/**
- * Convert a group name to a numeric ID
- * @param name The name to convert
- * @return The group id corresponding to a name
- * @deffunc gid_t ap_gname2id(const char *name)
- */
-AP_DECLARE(gid_t) ap_gname2id(const char *name);
-#endif
-
-#define AP_MPM_HARD_LIMITS_FILE APACHE_MPM_DIR "/mpm_default.h"
-
-#ifdef AP_MPM_USES_POD
-
-typedef struct ap_pod_t ap_pod_t;
-
-struct ap_pod_t {
- apr_file_t *pod_in;
- apr_file_t *pod_out;
- apr_pool_t *p;
- apr_sockaddr_t *sa;
-};
-
-/**
- * Open the pipe-of-death. The pipe of death is used to tell all child
- * processes that it is time to die gracefully.
- * @param p The pool to use for allocating the pipe
- */
-AP_DECLARE(apr_status_t) ap_mpm_pod_open(apr_pool_t *p, ap_pod_t **pod);
-
-/**
- * Check the pipe to determine if the process has been signalled to die.
- */
-AP_DECLARE(apr_status_t) ap_mpm_pod_check(ap_pod_t *pod);
-
-/**
- * Close the pipe-of-death
- */
-AP_DECLARE(apr_status_t) ap_mpm_pod_close(ap_pod_t *pod);
-
-/**
- * Write data to the pipe-of-death, signalling that one child process
- * should die.
- * @param p The pool to use when allocating any required structures.
- */
-AP_DECLARE(apr_status_t) ap_mpm_pod_signal(ap_pod_t *pod);
-
-/**
- * Write data to the pipe-of-death, signalling that all child process
- * should die.
- * @param p The pool to use when allocating any required structures.
- * @param num The number of child processes to kill
- */
-AP_DECLARE(void) ap_mpm_pod_killpg(ap_pod_t *pod, int num);
-#endif
-
-/*
- * These data members are common to all mpms. Each new mpm
- * should either use the appropriate ap_mpm_set_* function
- * in their command table or create their own for custom or
- * OS specific needs. These should work for most.
- */
-
-/**
- * The maximum number of requests each child thread or
- * process handles before dying off
- */
-#ifdef AP_MPM_WANT_SET_MAX_REQUESTS
-extern int ap_max_requests_per_child;
-const char *ap_mpm_set_max_requests(cmd_parms *cmd, void *dummy,
- const char *arg);
-#endif
-
-/**
- * The filename used to store the process id.
- */
-#ifdef AP_MPM_WANT_SET_PIDFILE
-extern const char *ap_pid_fname;
-const char *ap_mpm_set_pidfile(cmd_parms *cmd, void *dummy,
- const char *arg);
-#endif
-
-/**
- * The name of lockfile used when Apache needs to lock the accept() call.
- */
-#ifdef AP_MPM_WANT_SET_LOCKFILE
-extern const char *ap_lock_fname;
-const char *ap_mpm_set_lockfile(cmd_parms *cmd, void *dummy,
- const char *arg);
-#endif
-
-/**
- * The system mutex implementation to use for the accept mutex.
- */
-#ifdef AP_MPM_WANT_SET_ACCEPT_LOCK_MECH
-extern apr_lockmech_e ap_accept_lock_mech;
-extern const char ap_valid_accept_mutex_string[];
-const char *ap_mpm_set_accept_lock_mech(cmd_parms *cmd, void *dummy,
- const char *arg);
-#endif
-
-/*
- * Set the scorboard file.
- */
-#ifdef AP_MPM_WANT_SET_SCOREBOARD
-const char *ap_mpm_set_scoreboard(cmd_parms *cmd, void *dummy,
- const char *arg);
-#endif
-
-/*
- * The directory that the server changes directory to dump core.
- */
-#ifdef AP_MPM_WANT_SET_COREDUMPDIR
-extern char ap_coredump_dir[MAX_STRING_LEN];
-extern int ap_coredumpdir_configured;
-const char *ap_mpm_set_coredumpdir(cmd_parms *cmd, void *dummy,
- const char *arg);
-#endif
-
-#ifdef AP_MPM_WANT_SIGNAL_SERVER
-int ap_signal_server(int *, apr_pool_t *);
-void ap_mpm_rewrite_args(process_rec *);
-#endif
-
-#ifdef AP_MPM_WANT_SET_MAX_MEM_FREE
-extern apr_uint32_t ap_max_mem_free;
-extern const char *ap_mpm_set_max_mem_free(cmd_parms *cmd, void *dummy,
- const char *arg);
-#endif
-
-#ifdef AP_MPM_WANT_FATAL_SIGNAL_HANDLER
-extern apr_status_t ap_fatal_signal_setup(server_rec *s, apr_pool_t *pconf);
-extern apr_status_t ap_fatal_signal_child_setup(server_rec *s);
-#endif
-
-#if AP_ENABLE_EXCEPTION_HOOK
-extern const char *ap_mpm_set_exception_hook(cmd_parms *cmd, void *dummy,
- const char *arg);
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !APACHE_MPM_COMMON_H */
diff --git a/rubbos/app/apache2/include/mpm_default.h b/rubbos/app/apache2/include/mpm_default.h
deleted file mode 100644
index d5a33989..00000000
--- a/rubbos/app/apache2/include/mpm_default.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* 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 APACHE_MPM_DEFAULT_H
-#define APACHE_MPM_DEFAULT_H
-
-/* Number of servers to spawn off by default --- also, if fewer than
- * this free when the caretaker checks, it will spawn more.
- */
-#ifndef DEFAULT_START_DAEMON
-#define DEFAULT_START_DAEMON 3
-#endif
-
-/* Maximum number of *free* server processes --- more than this, and
- * they will die off.
- */
-
-#ifndef DEFAULT_MAX_FREE_DAEMON
-#define DEFAULT_MAX_FREE_DAEMON 10
-#endif
-
-/* Minimum --- fewer than this, and more will be created */
-
-#ifndef DEFAULT_MIN_FREE_DAEMON
-#define DEFAULT_MIN_FREE_DAEMON 3
-#endif
-
-#ifndef DEFAULT_THREADS_PER_CHILD
-#define DEFAULT_THREADS_PER_CHILD 25
-#endif
-
-/* File used for accept locking, when we use a file */
-#ifndef DEFAULT_LOCKFILE
-#define DEFAULT_LOCKFILE DEFAULT_REL_RUNTIMEDIR "/accept.lock"
-#endif
-
-/* Where the main/parent process's pid is logged */
-#ifndef DEFAULT_PIDLOG
-#define DEFAULT_PIDLOG DEFAULT_REL_RUNTIMEDIR "/httpd.pid"
-#endif
-
-/*
- * Interval, in microseconds, between scoreboard maintenance.
- */
-#ifndef SCOREBOARD_MAINTENANCE_INTERVAL
-#define SCOREBOARD_MAINTENANCE_INTERVAL 1000000
-#endif
-
-/* Number of requests to try to handle in a single process. If <= 0,
- * the children don't die off.
- */
-#ifndef DEFAULT_MAX_REQUESTS_PER_CHILD
-#define DEFAULT_MAX_REQUESTS_PER_CHILD 10000
-#endif
-
-#endif /* AP_MPM_DEFAULT_H */
diff --git a/rubbos/app/apache2/include/os.h b/rubbos/app/apache2/include/os.h
deleted file mode 100644
index 59f1a439..00000000
--- a/rubbos/app/apache2/include/os.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* 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 APACHE_OS_H
-#define APACHE_OS_H
-
-#include "apr.h"
-#include "ap_config.h"
-
-#ifndef PLATFORM
-#define PLATFORM "Unix"
-#endif
-
-#endif /* !APACHE_OS_H */
diff --git a/rubbos/app/apache2/include/pcre.h b/rubbos/app/apache2/include/pcre.h
deleted file mode 100644
index d6c23939..00000000
--- a/rubbos/app/apache2/include/pcre.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/*************************************************
-* Perl-Compatible Regular Expressions *
-*************************************************/
-
-/* Copyright (c) 1997-2001 University of Cambridge */
-
-#ifndef _PCRE_H
-#define _PCRE_H
-
-/* The file pcre.h is build by "configure". Do not edit it; instead
-make changes to pcre.in. */
-
-#define PCRE_MAJOR 3
-#define PCRE_MINOR 9
-#define PCRE_DATE 02-Jan-2002
-
-/* Win32 uses DLL by default */
-
-#ifdef _WIN32
-# ifdef STATIC
-# define PCRE_DL_IMPORT
-# else
-# define PCRE_DL_IMPORT __declspec(dllimport)
-# endif
-#else
-# define PCRE_DL_IMPORT
-#endif
-
-/* Have to include stdlib.h in order to ensure that size_t is defined;
-it is needed here for malloc. */
-
-#include <stdlib.h>
-
-/* Allow for C++ users */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Options */
-
-#define PCRE_CASELESS 0x0001
-#define PCRE_MULTILINE 0x0002
-#define PCRE_DOTALL 0x0004
-#define PCRE_EXTENDED 0x0008
-#define PCRE_ANCHORED 0x0010
-#define PCRE_DOLLAR_ENDONLY 0x0020
-#define PCRE_EXTRA 0x0040
-#define PCRE_NOTBOL 0x0080
-#define PCRE_NOTEOL 0x0100
-#define PCRE_UNGREEDY 0x0200
-#define PCRE_NOTEMPTY 0x0400
-#define PCRE_UTF8 0x0800
-
-/* Exec-time and get-time error codes */
-
-#define PCRE_ERROR_NOMATCH (-1)
-#define PCRE_ERROR_NULL (-2)
-#define PCRE_ERROR_BADOPTION (-3)
-#define PCRE_ERROR_BADMAGIC (-4)
-#define PCRE_ERROR_UNKNOWN_NODE (-5)
-#define PCRE_ERROR_NOMEMORY (-6)
-#define PCRE_ERROR_NOSUBSTRING (-7)
-
-/* Request types for pcre_fullinfo() */
-
-#define PCRE_INFO_OPTIONS 0
-#define PCRE_INFO_SIZE 1
-#define PCRE_INFO_CAPTURECOUNT 2
-#define PCRE_INFO_BACKREFMAX 3
-#define PCRE_INFO_FIRSTCHAR 4
-#define PCRE_INFO_FIRSTTABLE 5
-#define PCRE_INFO_LASTLITERAL 6
-
-/* Types */
-
-struct real_pcre; /* declaration; the definition is private */
-struct real_pcre_extra; /* declaration; the definition is private */
-
-typedef struct real_pcre pcre;
-typedef struct real_pcre_extra pcre_extra;
-
-/* Store get and free functions. These can be set to alternative malloc/free
-functions if required. Some magic is required for Win32 DLL; it is null on
-other OS. */
-
-PCRE_DL_IMPORT extern void *(*pcre_malloc)(size_t);
-PCRE_DL_IMPORT extern void (*pcre_free)(void *);
-
-#undef PCRE_DL_IMPORT
-
-/* Functions */
-
-extern pcre *pcre_compile(const char *, int, const char **, int *,
- const unsigned char *);
-extern int pcre_copy_substring(const char *, int *, int, int, char *, int);
-extern int pcre_exec(const pcre *, const pcre_extra *, const char *,
- int, int, int, int *, int);
-extern void pcre_free_substring(const char *);
-extern void pcre_free_substring_list(const char **);
-extern int pcre_get_substring(const char *, int *, int, int, const char **);
-extern int pcre_get_substring_list(const char *, int *, int, const char ***);
-extern int pcre_info(const pcre *, int *, int *);
-extern int pcre_fullinfo(const pcre *, const pcre_extra *, int, void *);
-extern const unsigned char *pcre_maketables(void);
-extern pcre_extra *pcre_study(const pcre *, int, const char **);
-extern const char *pcre_version(void);
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* End of pcre.h */
diff --git a/rubbos/app/apache2/include/pcreposix.h b/rubbos/app/apache2/include/pcreposix.h
deleted file mode 100644
index e70af2de..00000000
--- a/rubbos/app/apache2/include/pcreposix.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/*************************************************
-* Perl-Compatible Regular Expressions *
-*************************************************/
-
-/* Copyright (c) 1997-2001 University of Cambridge */
-
-#ifndef _PCREPOSIX_H
-#define _PCREPOSIX_H
-
-/* This is the header for the POSIX wrapper interface to the PCRE Perl-
-Compatible Regular Expression library. It defines the things POSIX says should
-be there. I hope. */
-
-/* Have to include stdlib.h in order to ensure that size_t is defined. */
-
-#include <stdlib.h>
-
-/* Allow for C++ users */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Options defined by POSIX. */
-
-#define REG_ICASE 0x01
-#define REG_NEWLINE 0x02
-#define REG_NOTBOL 0x04
-#define REG_NOTEOL 0x08
-
-/* These are not used by PCRE, but by defining them we make it easier
-to slot PCRE into existing programs that make POSIX calls. */
-
-#define REG_EXTENDED 0
-#define REG_NOSUB 0
-
-/* Error values. Not all these are relevant or used by the wrapper. */
-
-enum {
- REG_ASSERT = 1, /* internal error ? */
- REG_BADBR, /* invalid repeat counts in {} */
- REG_BADPAT, /* pattern error */
- REG_BADRPT, /* ? * + invalid */
- REG_EBRACE, /* unbalanced {} */
- REG_EBRACK, /* unbalanced [] */
- REG_ECOLLATE, /* collation error - not relevant */
- REG_ECTYPE, /* bad class */
- REG_EESCAPE, /* bad escape sequence */
- REG_EMPTY, /* empty expression */
- REG_EPAREN, /* unbalanced () */
- REG_ERANGE, /* bad range inside [] */
- REG_ESIZE, /* expression too big */
- REG_ESPACE, /* failed to get memory */
- REG_ESUBREG, /* bad back reference */
- REG_INVARG, /* bad argument */
- REG_NOMATCH /* match failed */
-};
-
-
-/* The structure representing a compiled regular expression. */
-
-typedef struct {
- void *re_pcre;
- size_t re_nsub;
- size_t re_erroffset;
-} regex_t;
-
-/* The structure in which a captured offset is returned. */
-
-typedef int regoff_t;
-
-typedef struct {
- regoff_t rm_so;
- regoff_t rm_eo;
-} regmatch_t;
-
-/* The functions */
-
-extern int regcomp(regex_t *, const char *, int);
-extern int regexec(regex_t *, const char *, size_t, regmatch_t *, int);
-extern size_t regerror(int, const regex_t *, char *, size_t);
-extern void regfree(regex_t *);
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* End of pcreposix.h */
diff --git a/rubbos/app/apache2/include/pod.h b/rubbos/app/apache2/include/pod.h
deleted file mode 100644
index 21651e6f..00000000
--- a/rubbos/app/apache2/include/pod.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* 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.
- */
-
-#include "apr.h"
-#include "apr_strings.h"
-#define APR_WANT_STRFUNC
-#include "apr_want.h"
-
-#include "httpd.h"
-#include "http_config.h"
-#include "http_log.h"
-#include "http_main.h"
-#include "mpm.h"
-#include "mpm_common.h"
-#include "ap_mpm.h"
-#include "ap_listen.h"
-#include "mpm_default.h"
-
-#define RESTART_CHAR '$'
-#define GRACEFUL_CHAR '!'
-
-#define AP_RESTART 0
-#define AP_GRACEFUL 1
-
-typedef struct ap_pod_t ap_pod_t;
-
-struct ap_pod_t {
- apr_file_t *pod_in;
- apr_file_t *pod_out;
- apr_pool_t *p;
-};
-
-AP_DECLARE(apr_status_t) ap_mpm_pod_open(apr_pool_t *p, ap_pod_t **pod);
-AP_DECLARE(int) ap_mpm_pod_check(ap_pod_t *pod);
-AP_DECLARE(apr_status_t) ap_mpm_pod_close(ap_pod_t *pod);
-AP_DECLARE(apr_status_t) ap_mpm_pod_signal(ap_pod_t *pod, int graceful);
-AP_DECLARE(void) ap_mpm_pod_killpg(ap_pod_t *pod, int num, int graceful);
diff --git a/rubbos/app/apache2/include/rfc1413.h b/rubbos/app/apache2/include/rfc1413.h
deleted file mode 100644
index a4ffdf11..00000000
--- a/rubbos/app/apache2/include/rfc1413.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* 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 APACHE_RFC1413_H
-#define APACHE_RFC1413_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @package RFC1413 package
- */
-
-/**
- * Retrieve the remote user name, given socket structures. This implements
- * RFC1413, which involves querying the client's identd or auth daemon.
- * @param conn The current connection
- * @param srv The current server
- * @return The remote user name
- * @deffunc char *ap_rfc1413(conn_rec *conn, server_rec *srv)
- */
-extern char *ap_rfc1413(conn_rec *conn, server_rec *srv);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !APACHE_RFC1413_H */
diff --git a/rubbos/app/apache2/include/scoreboard.h b/rubbos/app/apache2/include/scoreboard.h
deleted file mode 100644
index 6ca18582..00000000
--- a/rubbos/app/apache2/include/scoreboard.h
+++ /dev/null
@@ -1,197 +0,0 @@
-/* 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 APACHE_SCOREBOARD_H
-#define APACHE_SCOREBOARD_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef HAVE_SYS_TIMES_H
-#include <sys/time.h>
-#include <sys/times.h>
-#elif defined(TPF)
-#include <time.h>
-#endif
-
-#include "ap_config.h"
-#include "apr_hooks.h"
-#include "apr_thread_proc.h"
-#include "apr_portable.h"
-#include "apr_shm.h"
-
-/* Scoreboard file, if there is one */
-#ifndef DEFAULT_SCOREBOARD
-#define DEFAULT_SCOREBOARD "logs/apache_runtime_status"
-#endif
-
-/* Scoreboard info on a process is, for now, kept very brief ---
- * just status value and pid (the latter so that the caretaker process
- * can properly update the scoreboard when a process dies). We may want
- * to eventually add a separate set of long_score structures which would
- * give, for each process, the number of requests serviced, and info on
- * the current, or most recent, request.
- *
- * Status values:
- */
-
-#define SERVER_DEAD 0
-#define SERVER_STARTING 1 /* Server Starting up */
-#define SERVER_READY 2 /* Waiting for connection (or accept() lock) */
-#define SERVER_BUSY_READ 3 /* Reading a client request */
-#define SERVER_BUSY_WRITE 4 /* Processing a client request */
-#define SERVER_BUSY_KEEPALIVE 5 /* Waiting for more requests via keepalive */
-#define SERVER_BUSY_LOG 6 /* Logging the request */
-#define SERVER_BUSY_DNS 7 /* Looking up a hostname */
-#define SERVER_CLOSING 8 /* Closing the connection */
-#define SERVER_GRACEFUL 9 /* server is gracefully finishing request */
-#define SERVER_IDLE_KILL 10 /* Server is cleaning up idle children. */
-#define SERVER_NUM_STATUS 11 /* number of status settings */
-
-/* Type used for generation indicies. Startup and every restart cause a
- * new generation of children to be spawned. Children within the same
- * generation share the same configuration information -- pointers to stuff
- * created at config time in the parent are valid across children. However,
- * this can't work effectively with non-forked architectures. So while the
- * arrays in the scoreboard never change between the parent and forked
- * children, so they do not require shm storage, the contents of the shm
- * may contain no pointers.
- */
-typedef int ap_generation_t;
-
-/* Is the scoreboard shared between processes or not?
- * Set by the MPM when the scoreboard is created.
- */
-typedef enum {
- SB_NOT_SHARED = 1,
- SB_SHARED = 2
-} ap_scoreboard_e;
-
-#define SB_WORKING 0 /* The server is busy and the child is useful. */
-#define SB_IDLE_DIE 1 /* The server is idle and the child is superfluous. */
- /* The child should check for this and exit gracefully. */
-
-/* stuff which is worker specific */
-/***********************WARNING***************************************/
-/* These are things that are used by mod_status. Do not put anything */
-/* in here that you cannot live without. This structure will not */
-/* be available if mod_status is not loaded. */
-/*********************************************************************/
-typedef struct worker_score worker_score;
-
-struct worker_score {
- int thread_num;
-#if APR_HAS_THREADS
- apr_os_thread_t tid;
-#endif
- unsigned char status;
- unsigned long access_count;
- apr_off_t bytes_served;
- unsigned long my_access_count;
- apr_off_t my_bytes_served;
- apr_off_t conn_bytes;
- unsigned short conn_count;
- apr_time_t start_time;
- apr_time_t stop_time;
-#ifdef HAVE_TIMES
- struct tms times;
-#endif
- apr_time_t last_used;
- char client[32]; /* Keep 'em small... */
- char request[64]; /* We just want an idea... */
- char vhost[32]; /* What virtual host is being accessed? */
-};
-
-typedef struct {
- int server_limit;
- int thread_limit;
- ap_scoreboard_e sb_type;
- ap_generation_t running_generation; /* the generation of children which
- * should still be serving requests. */
- apr_time_t restart_time;
-} global_score;
-
-/* stuff which the parent generally writes and the children rarely read */
-typedef struct process_score process_score;
-struct process_score{
- pid_t pid;
- ap_generation_t generation; /* generation of this child */
- ap_scoreboard_e sb_type;
- int quiescing; /* the process whose pid is stored above is
- * going down gracefully
- */
-};
-
-/* Scoreboard is now in 'local' memory, since it isn't updated once created,
- * even in forked architectures. Child created-processes (non-fork) will
- * set up these indicies into the (possibly relocated) shmem records.
- */
-typedef struct {
- global_score *global;
- process_score *parent;
- worker_score **servers;
-} scoreboard;
-
-typedef struct ap_sb_handle_t ap_sb_handle_t;
-
-AP_DECLARE(int) ap_exists_scoreboard_image(void);
-AP_DECLARE(void) ap_increment_counts(ap_sb_handle_t *sbh, request_rec *r);
-
-int ap_create_scoreboard(apr_pool_t *p, ap_scoreboard_e t);
-apr_status_t ap_reopen_scoreboard(apr_pool_t *p, apr_shm_t **shm, int detached);
-void ap_init_scoreboard(void *shared_score);
-AP_DECLARE(int) ap_calc_scoreboard_size(void);
-apr_status_t ap_cleanup_scoreboard(void *d);
-
-AP_DECLARE(void) ap_create_sb_handle(ap_sb_handle_t **new_sbh, apr_pool_t *p,
- int child_num, int thread_num);
-
-AP_DECLARE(int) find_child_by_pid(apr_proc_t *pid);
-AP_DECLARE(int) ap_update_child_status(ap_sb_handle_t *sbh, int status, request_rec *r);
-AP_DECLARE(int) ap_update_child_status_from_indexes(int child_num, int thread_num,
- int status, request_rec *r);
-void ap_time_process_request(ap_sb_handle_t *sbh, int status);
-
-AP_DECLARE(worker_score *) ap_get_scoreboard_worker(int x, int y);
-AP_DECLARE(process_score *) ap_get_scoreboard_process(int x);
-AP_DECLARE(global_score *) ap_get_scoreboard_global(void);
-
-AP_DECLARE_DATA extern scoreboard *ap_scoreboard_image;
-AP_DECLARE_DATA extern const char *ap_scoreboard_fname;
-AP_DECLARE_DATA extern int ap_extended_status;
-
-AP_DECLARE_DATA extern ap_generation_t volatile ap_my_generation;
-
-/* Hooks */
-/**
- * Hook for post scoreboard creation, pre mpm.
- * @param p Apache pool to allocate from.
- * @param sb_type
- * @ingroup hooks
- * @return OK or DECLINE on success; anything else is a error
- */
-AP_DECLARE_HOOK(int, pre_mpm, (apr_pool_t *p, ap_scoreboard_e sb_type))
-
-/* for time_process_request() in http_main.c */
-#define START_PREQUEST 1
-#define STOP_PREQUEST 2
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !APACHE_SCOREBOARD_H */
diff --git a/rubbos/app/apache2/include/ssl_expr.h b/rubbos/app/apache2/include/ssl_expr.h
deleted file mode 100644
index 20b9fbdb..00000000
--- a/rubbos/app/apache2/include/ssl_expr.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/* 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.
- */
-
-/* _ _
- * _ __ ___ ___ __| | ___ ___| | mod_ssl
- * | '_ ` _ \ / _ \ / _` | / __/ __| | Apache Interface to OpenSSL
- * | | | | | | (_) | (_| | \__ \__ \ |
- * |_| |_| |_|\___/ \__,_|___|___/___/_|
- * |_____|
- * ssl_expr.h
- * Expression Handling (Header)
- */
- /* ``May all your PUSHes be POPed.'' */
-
-#ifndef __SSL_EXPR_H__
-#define __SSL_EXPR_H__
-
-#ifndef FALSE
-#define FALSE 0
-#endif
-
-#ifndef TRUE
-#define TRUE !FALSE
-#endif
-
-#ifndef YY_NULL
-#define YY_NULL 0
-#endif
-
-#ifndef MIN
-#define MIN(a,b) (((a)<(b))?(a):(b))
-#endif
-
-#ifndef BOOL
-#define BOOL unsigned int
-#endif
-
-#ifndef NULL
-#define NULL (void *)0
-#endif
-
-#ifndef NUL
-#define NUL '\0'
-#endif
-
-#ifndef YYDEBUG
-#define YYDEBUG 0
-#endif
-
-typedef enum {
- op_NOP, op_ListElement,
- op_True, op_False, op_Not, op_Or, op_And, op_Comp,
- op_EQ, op_NE, op_LT, op_LE, op_GT, op_GE, op_IN, op_REG, op_NRE,
- op_Digit, op_String, op_Regex, op_Var, op_Func
-} ssl_expr_node_op;
-
-typedef struct {
- ssl_expr_node_op node_op;
- void *node_arg1;
- void *node_arg2;
- apr_pool_t *p;
-} ssl_expr_node;
-
-typedef ssl_expr_node ssl_expr;
-
-typedef struct {
- apr_pool_t *pool;
- char *inputbuf;
- int inputlen;
- char *inputptr;
- ssl_expr *expr;
-} ssl_expr_info_type;
-
-extern ssl_expr_info_type ssl_expr_info;
-extern char *ssl_expr_error;
-
-#define yylval ssl_expr_yylval
-#define yyerror ssl_expr_yyerror
-#define yyinput ssl_expr_yyinput
-
-extern int ssl_expr_yyparse(void);
-extern int ssl_expr_yyerror(char *);
-extern int ssl_expr_yylex(void);
-
-extern ssl_expr *ssl_expr_comp(apr_pool_t *, char *);
-extern int ssl_expr_exec(request_rec *, ssl_expr *);
-extern char *ssl_expr_get_error(void);
-extern ssl_expr *ssl_expr_make(ssl_expr_node_op, void *, void *);
-extern BOOL ssl_expr_eval(request_rec *, ssl_expr *);
-
-#endif /* __SSL_EXPR_H__ */
diff --git a/rubbos/app/apache2/include/ssl_expr_parse.h b/rubbos/app/apache2/include/ssl_expr_parse.h
deleted file mode 100644
index 5378e287..00000000
--- a/rubbos/app/apache2/include/ssl_expr_parse.h
+++ /dev/null
@@ -1,27 +0,0 @@
-typedef union {
- char *cpVal;
- ssl_expr *exVal;
-} YYSTYPE;
-#define T_TRUE 257
-#define T_FALSE 258
-#define T_DIGIT 259
-#define T_ID 260
-#define T_STRING 261
-#define T_REGEX 262
-#define T_REGEX_I 263
-#define T_FUNC_FILE 264
-#define T_OP_EQ 265
-#define T_OP_NE 266
-#define T_OP_LT 267
-#define T_OP_LE 268
-#define T_OP_GT 269
-#define T_OP_GE 270
-#define T_OP_REG 271
-#define T_OP_NRE 272
-#define T_OP_IN 273
-#define T_OP_OR 274
-#define T_OP_AND 275
-#define T_OP_NOT 276
-
-
-extern YYSTYPE ssl_expr_yylval;
diff --git a/rubbos/app/apache2/include/ssl_toolkit_compat.h b/rubbos/app/apache2/include/ssl_toolkit_compat.h
deleted file mode 100644
index 72772150..00000000
--- a/rubbos/app/apache2/include/ssl_toolkit_compat.h
+++ /dev/null
@@ -1,239 +0,0 @@
-/* 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 SSL_TOOLKIT_COMPAT_H
-#define SSL_TOOLKIT_COMPAT_H
-
-/*
- * this header file provides a compatiblity layer
- * between OpenSSL and RSA sslc
- */
-
-#ifdef OPENSSL_VERSION_NUMBER
-
-/*
- * rsa sslc uses incomplete types for most structures
- * so we macroize for OpenSSL those which cannot be dereferenced
- * using the same sames as the sslc functions
- */
-
-#define EVP_PKEY_key_type(k) (EVP_PKEY_type(k->type))
-
-#define X509_NAME_get_entries(xs) (xs->entries)
-#define X509_REVOKED_get_serialNumber(xs) (xs->serialNumber)
-
-#define X509_get_signature_algorithm(xs) (xs->cert_info->signature->algorithm)
-#define X509_get_key_algorithm(xs) (xs->cert_info->key->algor->algorithm)
-
-#define X509_NAME_ENTRY_get_data_ptr(xs) (xs->value->data)
-#define X509_NAME_ENTRY_get_data_len(xs) (xs->value->length)
-
-#define SSL_CTX_get_extra_certs(ctx) (ctx->extra_certs)
-#define SSL_CTX_set_extra_certs(ctx,value) {ctx->extra_certs = value;}
-
-#define SSL_CIPHER_get_name(s) (s->name)
-#define SSL_CIPHER_get_valid(s) (s->valid)
-
-#define SSL_SESSION_get_session_id(s) (s->session_id)
-#define SSL_SESSION_get_session_id_length(s) (s->session_id_length)
-
-/*
- * Support for retrieving/overriding states
- */
-#ifndef SSL_get_state
-#define SSL_get_state(ssl) SSL_state(ssl)
-#endif
-
-#define SSL_set_state(ssl,val) (ssl)->state = val
-
-#define MODSSL_BIO_CB_ARG_TYPE const char
-#define MODSSL_CRYPTO_CB_ARG_TYPE const char
-#if (OPENSSL_VERSION_NUMBER < 0x00907000)
-#define MODSSL_INFO_CB_ARG_TYPE SSL*
-#else
-#define MODSSL_INFO_CB_ARG_TYPE const SSL*
-#endif
-#define MODSSL_CLIENT_CERT_CB_ARG_TYPE X509
-#define MODSSL_PCHAR_CAST
-
-/* ...shifting sands of openssl... */
-#if (OPENSSL_VERSION_NUMBER >= 0x0090707f)
-# define MODSSL_D2I_SSL_SESSION_CONST const
-#else
-# define MODSSL_D2I_SSL_SESSION_CONST
-#endif
-
-#if (OPENSSL_VERSION_NUMBER >= 0x00908000)
-# define MODSSL_D2I_PrivateKey_CONST const
-# define MODSSL_D2I_X509_CONST const
-#else
-# define MODSSL_D2I_PrivateKey_CONST
-# define MODSSL_D2I_X509_CONST
-#endif
-
-#define modssl_X509_verify_cert X509_verify_cert
-
-typedef int (modssl_read_bio_cb_fn)(char*,int,int,void*);
-
-#if (OPENSSL_VERSION_NUMBER < 0x00904000)
-#define modssl_PEM_read_bio_X509(b, x, cb, arg) PEM_read_bio_X509(b, x, cb)
-#else
-#define modssl_PEM_read_bio_X509(b, x, cb, arg) PEM_read_bio_X509(b, x, cb, arg)
-#endif
-
-#define modssl_PEM_X509_INFO_read_bio PEM_X509_INFO_read_bio
-
-#define modssl_PEM_read_bio_PrivateKey PEM_read_bio_PrivateKey
-
-#define modssl_set_cipher_list SSL_set_cipher_list
-
-#define modssl_free OPENSSL_free
-
-#define EVP_PKEY_reference_inc(pkey) \
- CRYPTO_add(&((pkey)->references), +1, CRYPTO_LOCK_X509_PKEY)
-
-#define X509_reference_inc(cert) \
- CRYPTO_add(&((cert)->references), +1, CRYPTO_LOCK_X509)
-
-#define HAVE_SSL_RAND_EGD /* since 9.5.1 */
-
-#ifdef HAVE_SSL_X509V3_H
-#define HAVE_SSL_X509V3_EXT_d2i
-#endif
-
-#ifndef PEM_F_DEF_CALLBACK
-#ifdef PEM_F_PEM_DEF_CALLBACK
-/* In OpenSSL 0.9.8 PEM_F_DEF_CALLBACK was renamed */
-#define PEM_F_DEF_CALLBACK PEM_F_PEM_DEF_CALLBACK
-#endif
-#endif
-
-#elif defined (SSLC_VERSION_NUMBER) /* RSA */
-
-/* sslc does not support this function, OpenSSL has since 9.5.1 */
-#define RAND_status() 1
-
-/* sslc names this function a bit differently */
-#define CRYPTO_num_locks() CRYPTO_get_num_locks()
-
-#ifndef STACK_OF
-#define STACK_OF(type) STACK
-#endif
-
-#define MODSSL_BIO_CB_ARG_TYPE char
-#define MODSSL_CRYPTO_CB_ARG_TYPE char
-#define MODSSL_INFO_CB_ARG_TYPE SSL*
-#define MODSSL_CLIENT_CERT_CB_ARG_TYPE void
-#define MODSSL_PCHAR_CAST (char *)
-#define MODSSL_D2I_SSL_SESSION_CONST
-#define MODSSL_D2I_PrivateKey_CONST
-#define MODSSL_D2I_X509_CONST
-
-typedef int (modssl_read_bio_cb_fn)(char*,int,int);
-
-#define modssl_X509_verify_cert(c) X509_verify_cert(c, NULL)
-
-#define modssl_PEM_read_bio_X509(b, x, cb, arg) \
- PEM_read_bio_X509(b, x, cb)
-
-#define modssl_PEM_X509_INFO_read_bio(b, x, cb, arg)\
- PEM_X509_INFO_read_bio(b, x, cb)
-
-#define modssl_PEM_read_bio_PrivateKey(b, k, cb, arg) \
- PEM_read_bio_PrivateKey(b, k, cb)
-
-#ifndef HAVE_SSL_SET_STATE
-#define SSL_set_state(ssl, state) /* XXX: should throw an error */
-#endif
-
-#define modssl_set_cipher_list(ssl, l) \
- SSL_set_cipher_list(ssl, (char *)l)
-
-#define modssl_free free
-
-#ifndef PEM_F_DEF_CALLBACK
-#define PEM_F_DEF_CALLBACK PEM_F_DEF_CB
-#endif
-
-#if SSLC_VERSION_NUMBER < 0x2000
-
-#define X509_STORE_CTX_set_depth(st, d)
-#define X509_CRL_get_lastUpdate(x) ((x)->crl->lastUpdate)
-#define X509_CRL_get_nextUpdate(x) ((x)->crl->nextUpdate)
-#define X509_CRL_get_REVOKED(x) ((x)->crl->revoked)
-#define X509_REVOKED_get_serialNumber(xs) (xs->serialNumber)
-
-#define modssl_set_verify(ssl, verify, cb) \
- SSL_set_verify(ssl, verify)
-
-#define NO_SSL_X509V3_H
-
-#else /* SSLC_VERSION_NUMBER >= 0x2000 */
-
-#define CRYPTO_malloc_init R_malloc_init
-
-#define EVP_cleanup()
-
-#endif /* SSLC_VERSION_NUMBER >= 0x2000 */
-
-typedef void (*modssl_popfree_fn)(char *data);
-
-#define sk_SSL_CIPHER_dup sk_dup
-#define sk_SSL_CIPHER_find(st, data) sk_find(st, (void *)data)
-#define sk_SSL_CIPHER_free sk_free
-#define sk_SSL_CIPHER_num sk_num
-#define sk_SSL_CIPHER_value (SSL_CIPHER *)sk_value
-#define sk_X509_num sk_num
-#define sk_X509_push sk_push
-#define sk_X509_pop_free(st, free) sk_pop_free((STACK*)(st), (modssl_popfree_fn)(free))
-#define sk_X509_value (X509 *)sk_value
-#define sk_X509_INFO_free sk_free
-#define sk_X509_INFO_pop_free(st, free) sk_pop_free((STACK*)(st), (modssl_popfree_fn)(free))
-#define sk_X509_INFO_num sk_num
-#define sk_X509_INFO_new_null sk_new_null
-#define sk_X509_INFO_value (X509_INFO *)sk_value
-#define sk_X509_NAME_find(st, data) sk_find(st, (void *)data)
-#define sk_X509_NAME_free sk_free
-#define sk_X509_NAME_new sk_new
-#define sk_X509_NAME_num sk_num
-#define sk_X509_NAME_push(st, data) sk_push(st, (void *)data)
-#define sk_X509_NAME_value (X509_NAME *)sk_value
-#define sk_X509_NAME_ENTRY_num sk_num
-#define sk_X509_NAME_ENTRY_value (X509_NAME_ENTRY *)sk_value
-#define sk_X509_NAME_set_cmp_func sk_set_cmp_func
-#define sk_X509_REVOKED_num sk_num
-#define sk_X509_REVOKED_value (X509_REVOKED *)sk_value
-
-#else /* ! OPENSSL_VERSION_NUMBER && ! SSLC_VERSION_NUMBER */
-
-#error "Unrecognized SSL Toolkit!"
-
-#endif /* ! OPENSSL_VERSION_NUMBER && ! SSLC_VERSION_NUMBER */
-
-#ifndef modssl_set_verify
-#define modssl_set_verify(ssl, verify, cb) \
- SSL_set_verify(ssl, verify, cb)
-#endif
-
-#ifndef NO_SSL_X509V3_H
-#define HAVE_SSL_X509V3_H
-#endif
-
-#ifndef SSL_SESS_CACHE_NO_INTERNAL
-#define SSL_SESS_CACHE_NO_INTERNAL SSL_SESS_CACHE_NO_INTERNAL_LOOKUP
-#endif
-
-#endif /* SSL_TOOLKIT_COMPAT_H */
diff --git a/rubbos/app/apache2/include/ssl_util_ssl.h b/rubbos/app/apache2/include/ssl_util_ssl.h
deleted file mode 100644
index d5c48f16..00000000
--- a/rubbos/app/apache2/include/ssl_util_ssl.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/* 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.
- */
-
-/* _ _
- * _ __ ___ ___ __| | ___ ___| | mod_ssl
- * | '_ ` _ \ / _ \ / _` | / __/ __| | Apache Interface to OpenSSL
- * | | | | | | (_) | (_| | \__ \__ \ |
- * |_| |_| |_|\___/ \__,_|___|___/___/_|
- * |_____|
- * ssl_util_ssl.h
- * Additional Utility Functions for OpenSSL
- */
-
-#ifndef __SSL_UTIL_SSL_H__
-#define __SSL_UTIL_SSL_H__
-
-/*
- * Determine SSL library version number
- */
-#define SSL_NIBBLE(x,n) ((x >> (n * 4)) & 0xF)
-
-#ifdef OPENSSL_VERSION_NUMBER
-#define SSL_LIBRARY_VERSION OPENSSL_VERSION_NUMBER
-#define SSL_LIBRARY_NAME "OpenSSL"
-#define SSL_LIBRARY_TEXT OPENSSL_VERSION_TEXT
-#define SSL_LIBRARY_DYNTEXT SSLeay_version(SSLEAY_VERSION)
-#elif defined(SSLC_VERSION_NUMBER)
-#define SSL_LIBRARY_VERSION SSLC_VERSION_NUMBER
-#define SSL_LIBRARY_NAME "SSL-C"
-#define SSL_LIBRARY_TEXT { 'S', 'S', 'L', '-', 'C', ' ', \
- '0' + SSL_NIBBLE(SSLC_VERSION_NUMBER,3), '.', \
- '0' + SSL_NIBBLE(SSLC_VERSION_NUMBER,2), '.', \
- '0' + SSL_NIBBLE(SSLC_VERSION_NUMBER,1), '.', \
- '0' + SSL_NIBBLE(SSLC_VERSION_NUMBER,0), 0 }
-#define SSL_LIBRARY_DYNTEXT SSLC_library_info(SSLC_INFO_VERSION)
-#elif !defined(SSL_LIBRARY_VERSION)
-#define SSL_LIBRARY_VERSION 0x0000
-#define SSL_LIBRARY_NAME "OtherSSL"
-#define SSL_LIBRARY_TEXT "OtherSSL 0.0.0 00 XXX 0000"
-#define SSL_LIBRARY_DYNTEXT "OtherSSL 0.0.0 00 XXX 0000"
-#endif
-
-/*
- * Maximum length of a DER encoded session.
- * FIXME: There is no define in OpenSSL, but OpenSSL uses 1024*10,
- * so this value should be ok. Although we have no warm feeling.
- */
-#define SSL_SESSION_MAX_DER 1024*10
-
-/* max length for SSL_SESSION_id2sz */
-#define SSL_SESSION_ID_STRING_LEN \
- ((SSL_MAX_SSL_SESSION_ID_LENGTH + 1) * 2)
-
-/*
- * Additional Functions
- */
-void SSL_init_app_data2_idx(void);
-void *SSL_get_app_data2(SSL *);
-void SSL_set_app_data2(SSL *, void *);
-X509 *SSL_read_X509(char *, X509 **, modssl_read_bio_cb_fn *);
-EVP_PKEY *SSL_read_PrivateKey(char *, EVP_PKEY **, modssl_read_bio_cb_fn *, void *);
-int SSL_smart_shutdown(SSL *ssl);
-X509_STORE *SSL_X509_STORE_create(char *, char *);
-int SSL_X509_STORE_lookup(X509_STORE *, int, X509_NAME *, X509_OBJECT *);
-char *SSL_make_ciphersuite(apr_pool_t *, SSL *);
-BOOL SSL_X509_isSGC(X509 *);
-BOOL SSL_X509_getBC(X509 *, int *, int *);
-BOOL SSL_X509_getCN(apr_pool_t *, X509 *, char **);
-BOOL SSL_X509_INFO_load_file(apr_pool_t *, STACK_OF(X509_INFO) *, const char *);
-BOOL SSL_X509_INFO_load_path(apr_pool_t *, STACK_OF(X509_INFO) *, const char *);
-int SSL_CTX_use_certificate_chain(SSL_CTX *, char *, int, modssl_read_bio_cb_fn *);
-char *SSL_SESSION_id2sz(unsigned char *, int, char *, int);
-
-/* util functions for OpenSSL+sslc compat */
-int modssl_session_get_time(SSL_SESSION *session);
-
-DH *modssl_dh_configure(unsigned char *p, int plen,
- unsigned char *g, int glen);
-
-#endif /* __SSL_UTIL_SSL_H__ */
diff --git a/rubbos/app/apache2/include/ssl_util_table.h b/rubbos/app/apache2/include/ssl_util_table.h
deleted file mode 100644
index 33438b2f..00000000
--- a/rubbos/app/apache2/include/ssl_util_table.h
+++ /dev/null
@@ -1,152 +0,0 @@
-/* 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.
- */
-
-/* _ _
- * _ __ ___ ___ __| | ___ ___| | mod_ssl
- * | '_ ` _ \ / _ \ / _` | / __/ __| | Apache Interface to OpenSSL
- * | | | | | | (_) | (_| | \__ \__ \ |
- * |_| |_| |_|\___/ \__,_|___|___/___/_|
- * |_____|
- * ssl_util_table.h
- * High Performance Hash Table Header
- */
-
-/*
- * Generic hash table defines
- * Table 4.1.0 July-28-1998
- *
- * This library is a generic open hash table with buckets and
- * linked lists. It is pretty high performance. Each element
- * has a key and a data. The user indexes on the key to find the
- * data.
- *
- * Copyright 1998 by Gray Watson <gray@letters.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose and without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies,
- * and that the name of Gray Watson not be used in advertising or
- * publicity pertaining to distribution of the document or software
- * without specific, written prior permission.
- *
- * Gray Watson makes no representations about the suitability of the
- * software described herein for any purpose. It is provided "as is"
- * without express or implied warranty.
- */
-
-#ifndef __SSL_UTIL_TABLE_H__
-#define __SSL_UTIL_TABLE_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/*
- * To build a "key" in any of the below routines, pass in a pointer to
- * the key and its size [i.e. sizeof(int), etc]. With any of the
- * "key" or "data" arguments, if their size is < 0, it will do an
- * internal strlen of the item and add 1 for the \0.
- *
- * If you are using firstkey() and nextkey() functions, be careful if,
- * after starting your firstkey loop, you use delete or insert, it
- * will not crash but may produce interesting results. If you are
- * deleting from firstkey to NULL it will work fine.
- */
-
-/* return types for table functions */
-#define TABLE_ERROR_NONE 1 /* no error from function */
-#define TABLE_ERROR_PNT 2 /* bad table pointer */
-#define TABLE_ERROR_ARG_NULL 3 /* buffer args were null */
-#define TABLE_ERROR_SIZE 4 /* size of data was bad */
-#define TABLE_ERROR_OVERWRITE 5 /* key exists and we cant overwrite */
-#define TABLE_ERROR_NOT_FOUND 6 /* key does not exist */
-#define TABLE_ERROR_ALLOC 7 /* memory allocation error */
-#define TABLE_ERROR_LINEAR 8 /* no linear access started */
-#define TABLE_ERROR_OPEN 9 /* could not open file */
-#define TABLE_ERROR_SEEK 10 /* could not seek to pos in file */
-#define TABLE_ERROR_READ 11 /* could not read from file */
-#define TABLE_ERROR_WRITE 12 /* could not write to file */
-#define TABLE_ERROR_EMPTY 13 /* table is empty */
-#define TABLE_ERROR_NOT_EMPTY 14 /* table contains data */
-#define TABLE_ERROR_ALIGNMENT 15 /* invalid alignment value */
-
-/*
- * Table flags set with table_attr.
- */
-
-/*
- * Automatically adjust the number of table buckets on the fly.
- * Whenever the number of entries gets above some threshold, the
- * number of buckets is realloced to a new size and each entry is
- * re-hashed. Although this may take some time when it re-hashes, the
- * table will perform better over time.
- */
-#define TABLE_FLAG_AUTO_ADJUST (1<<0)
-
-/*
- * If the above auto-adjust flag is set, also adjust the number of
- * table buckets down as we delete entries.
- */
-#define TABLE_FLAG_ADJUST_DOWN (1<<1)
-
-/* structure to walk through the fields in a linear order */
-typedef struct {
- unsigned int tl_magic; /* magic structure to ensure correct init */
- unsigned int tl_bucket_c; /* where in the table buck array we are */
- unsigned int tl_entry_c; /* in the bucket, which entry we are on */
-} table_linear_t;
-
-typedef int (*table_compare_t)(const void *key1, const int key1_size,
- const void *data1, const int data1_size,
- const void *key2, const int key2_size,
- const void *data2, const int data2_size);
-
-#ifndef TABLE_PRIVATE
-typedef void table_t;
-typedef void table_entry_t;
-#endif
-
-/*
- * Prototypes
- */
-extern table_t *table_alloc(const unsigned int bucket_n, int *error_p, void *(*malloc_f)(void *opt_param, size_t size), void *(*calloc_f)(void *opt_param, size_t number, size_t size), void *(*realloc_f)(void *opt_param, void *ptr, size_t size), void (*free_f)(void *opt_param, void *ptr), void *opt_param);
-extern int table_attr(table_t *table_p, const int attr);
-extern int table_set_data_alignment(table_t *table_p, const int alignment);
-extern int table_clear(table_t *table_p);
-extern int table_free(table_t *table_p);
-extern int table_insert_kd(table_t *table_p, const void *key_buf, const int key_size, const void *data_buf, const int data_size, void **key_buf_p, void **data_buf_p, const char overwrite_b);
-extern int table_insert(table_t *table_p, const void *key_buf, const int key_size, const void *data_buf, const int data_size, void **data_buf_p, const char overwrite_b);
-extern int table_retrieve(table_t *table_p, const void *key_buf, const int key_size, void **data_buf_p, int *data_size_p);
-extern int table_delete(table_t *table_p, const void *key_buf, const int key_size, void **data_buf_p, int *data_size_p);
-extern int table_delete_first(table_t *table_p, void **key_buf_p, int *key_size_p, void **data_buf_p, int *data_size_p);
-extern int table_info(table_t *table_p, int *num_buckets_p, int *num_entries_p);
-extern int table_adjust(table_t *table_p, const int bucket_n);
-extern const char *table_strerror(const int error);
-extern int table_type_size(void);
-extern int table_first(table_t *table_p, void **key_buf_p, int *key_size_p, void **data_buf_p, int *data_size_p);
-extern int table_next(table_t *table_p, void **key_buf_p, int *key_size_p, void **data_buf_p, int *data_size_p);
-extern int table_this(table_t *table_p, void **key_buf_p, int *key_size_p, void **data_buf_p, int *data_size_p);
-extern int table_first_r(table_t *table_p, table_linear_t *linear_p, void **key_buf_p, int *key_size_p, void **data_buf_p, int *data_size_p);
-extern int table_next_r(table_t *table_p, table_linear_t *linear_p, void **key_buf_p, int *key_size_p, void **data_buf_p, int *data_size_p);
-extern int table_this_r(table_t *table_p, table_linear_t *linear_p, void **key_buf_p, int *key_size_p, void **data_buf_p, int *data_size_p);
-extern table_entry_t **table_order(table_t *table_p, table_compare_t compare, int *num_entries_p, int *error_p);
-extern int table_entry_info(table_t *table_p, table_entry_t *entry_p, void **key_buf_p, int *key_size_p, void **data_buf_p, int *data_size_p);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* __SSL_UTIL_TABLE_H__ */
diff --git a/rubbos/app/apache2/include/unixd.h b/rubbos/app/apache2/include/unixd.h
deleted file mode 100644
index c6bec924..00000000
--- a/rubbos/app/apache2/include/unixd.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/* 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 UNIXD_H
-#define UNIXD_H
-
-#include "httpd.h"
-#include "http_config.h"
-#include "ap_listen.h"
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-#ifdef HAVE_SYS_RESOURCE_H
-#include <sys/resource.h>
-#endif
-#include "apr_hooks.h"
-#include "apr_thread_proc.h"
-#include "apr_proc_mutex.h"
-#include "apr_global_mutex.h"
-
-#include <pwd.h>
-#include <grp.h>
-#ifdef APR_HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_IPC_H
-#include <sys/ipc.h>
-#endif
-
-typedef struct {
- uid_t uid;
- gid_t gid;
- int userdir;
-} ap_unix_identity_t;
-
-AP_DECLARE_HOOK(ap_unix_identity_t *, get_suexec_identity,(const request_rec *r))
-
-/* common stuff that unix MPMs will want */
-
-/* Default user name and group name. These may be specified as numbers by
- * placing a # before a number */
-
-#ifndef DEFAULT_USER
-#define DEFAULT_USER "#-1"
-#endif
-#ifndef DEFAULT_GROUP
-#define DEFAULT_GROUP "#-1"
-#endif
-
-typedef struct {
- const char *user_name;
- uid_t user_id;
- gid_t group_id;
- int suexec_enabled;
-} unixd_config_rec;
-AP_DECLARE_DATA extern unixd_config_rec unixd_config;
-
-AP_DECLARE(int) unixd_setup_child(void);
-AP_DECLARE(void) unixd_pre_config(apr_pool_t *ptemp);
-AP_DECLARE(const char *) unixd_set_user(cmd_parms *cmd, void *dummy,
- const char *arg);
-AP_DECLARE(const char *) unixd_set_group(cmd_parms *cmd, void *dummy,
- const char *arg);
-#if defined(RLIMIT_CPU) || defined(RLIMIT_DATA) || defined(RLIMIT_VMEM) || defined(RLIMIT_NPROC) || defined(RLIMIT_AS)
-AP_DECLARE(void) unixd_set_rlimit(cmd_parms *cmd, struct rlimit **plimit,
- const char *arg, const char * arg2, int type);
-#endif
-
-/**
- * One of the functions to set mutex permissions should be called in
- * the parent process on platforms that switch identity when the
- * server is started as root.
- * If the child init logic is performed before switching identity
- * (e.g., MPM setup for an accept mutex), it should only be called
- * for SysV semaphores. Otherwise, it is safe to call it for all
- * mutex types.
- */
-AP_DECLARE(apr_status_t) unixd_set_proc_mutex_perms(apr_proc_mutex_t *pmutex);
-AP_DECLARE(apr_status_t) unixd_set_global_mutex_perms(apr_global_mutex_t *gmutex);
-AP_DECLARE(apr_status_t) unixd_accept(void **accepted, ap_listen_rec *lr, apr_pool_t *ptrans);
-
-#ifdef HAVE_KILLPG
-#define unixd_killpg(x, y) (killpg ((x), (y)))
-#define ap_os_killpg(x, y) (killpg ((x), (y)))
-#else /* HAVE_KILLPG */
-#define unixd_killpg(x, y) (kill (-(x), (y)))
-#define ap_os_killpg(x, y) (kill (-(x), (y)))
-#endif /* HAVE_KILLPG */
-
-#define UNIX_DAEMON_COMMANDS \
-AP_INIT_TAKE1("User", unixd_set_user, NULL, RSRC_CONF, \
- "Effective user id for this server"), \
-AP_INIT_TAKE1("Group", unixd_set_group, NULL, RSRC_CONF, \
- "Effective group id for this server")
-
-#endif
diff --git a/rubbos/app/apache2/include/util_cfgtree.h b/rubbos/app/apache2/include/util_cfgtree.h
deleted file mode 100644
index a23330bc..00000000
--- a/rubbos/app/apache2/include/util_cfgtree.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/* 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 AP_CONFTREE_H
-#define AP_CONFTREE_H
-
-#include "ap_config.h"
-
-/**
- * @package Config Tree Package
- */
-
-typedef struct ap_directive_t ap_directive_t;
-
-/**
- * Structure used to build the config tree. The config tree only stores
- * the directives that will be active in the running server. Directives
- * that contain other directions, such as <Directory ...> cause a sub-level
- * to be created, where the included directives are stored. The closing
- * directive (</Directory>) is not stored in the tree.
- */
-struct ap_directive_t {
- /** The current directive */
- const char *directive;
- /** The arguments for the current directive, stored as a space
- * separated list */
- const char *args;
- /** The next directive node in the tree
- * @defvar ap_directive_t *next */
- struct ap_directive_t *next;
- /** The first child node of this directive
- * @defvar ap_directive_t *first_child */
- struct ap_directive_t *first_child;
- /** The parent node of this directive
- * @defvar ap_directive_t *parent */
- struct ap_directive_t *parent;
-
- /** directive's module can store add'l data here */
- void *data;
-
- /* ### these may go away in the future, but are needed for now */
- /** The name of the file this directive was found in */
- const char *filename;
- /** The line number the directive was on */
- int line_num;
-};
-
-/**
- * The root of the configuration tree
- * @defvar ap_directive_t *conftree
- */
-AP_DECLARE_DATA extern ap_directive_t *ap_conftree;
-
-/**
- * Add a node to the configuration tree.
- * @param parent The current parent node. If the added node is a first_child,
- then this is changed to the current node
- * @param current The current node
- * @param toadd The node to add to the tree
- * @param child Is the node to add a child node
- * @return the added node
- */
-ap_directive_t *ap_add_node(ap_directive_t **parent, ap_directive_t *current,
- ap_directive_t *toadd, int child);
-
-#endif
diff --git a/rubbos/app/apache2/include/util_charset.h b/rubbos/app/apache2/include/util_charset.h
deleted file mode 100644
index 449a8700..00000000
--- a/rubbos/app/apache2/include/util_charset.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* 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 APACHE_UTIL_CHARSET_H
-#define APACHE_UTIL_CHARSET_H
-
-#ifdef APACHE_XLATE
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @package charset conversion
- */
-#include "apr_xlate.h"
-
-/** On EBCDIC machine this is a translation handle used to translate the
- * headers from the local machine format to ASCII for network transmission.
- * On an ASCII machine this is NULL */
-extern apr_xlate_t *ap_hdrs_to_ascii;
-/** On EBCDIC machine this is a translation handle used to translate the
- * headers from ASCII to the local machine format after network transmission.
- * On an ASCII machine this is NULL */
-extern apr_xlate_t *ap_hdrs_from_ascii;
-/** On EBCDIC machine this is a translation handle used to translate the
- * content from the local machine format to ASCII for network transmission.
- * On an ASCII machine this is NULL */
-extern apr_xlate_t *ap_locale_to_ascii;
-/** On EBCDIC machine this is a translation handle used to translate the
- * content from ASCII to the local machine format after network transmission.
- * On an ASCII machine this is NULL */
-extern apr_xlate_t *ap_locale_from_ascii;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* APACHE_XLATE */
-
-#endif /* !APACHE_UTIL_CHARSET_H */
diff --git a/rubbos/app/apache2/include/util_ebcdic.h b/rubbos/app/apache2/include/util_ebcdic.h
deleted file mode 100644
index 0cd54cee..00000000
--- a/rubbos/app/apache2/include/util_ebcdic.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/* 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 APACHE_UTIL_EBCDIC_H
-#define APACHE_UTIL_EBCDIC_H
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "apr_xlate.h"
-#include "httpd.h"
-#include "util_charset.h"
-
-/**
- * @package Utilities for EBCDIC conversion
- */
-
-#if APR_CHARSET_EBCDIC
-
-/**
- * Setup all of the global translation handlers
- * @param pool pool to allocate out of
- */
-apr_status_t ap_init_ebcdic(apr_pool_t *pool);
-
-/**
- * Convert protocol data from the implementation character
- * set to ASCII.
- * @param buffer buffer to translate
- * @param len number of bytes to translate
- */
-void ap_xlate_proto_to_ascii(char *buffer, apr_size_t len);
-
-/**
- * Convert protocol data to the implementation character
- * set from ASCII.
- * @param buffer buffer to translate
- * @param len number of bytes to translate
- */
-void ap_xlate_proto_from_ascii(char *buffer, apr_size_t len);
-
-/**
- * Convert protocol data from the implementation charater
- * set to ASCII, then send it.
- * @param r the current request
- * @param ... the strings to write, followed by a NULL pointer
- */
-int ap_rvputs_proto_in_ascii(request_rec *r, ...);
-
-#else /* APR_CHARSET_EBCDIC */
-
-#define ap_xlate_proto_to_ascii(x,y) /* NOOP */
-#define ap_xlate_proto_from_ascii(x,y) /* NOOP */
-
-#define ap_rvputs_proto_in_ascii ap_rvputs
-
-#endif /* APR_CHARSET_EBCDIC */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !APACHE_UTIL_EBCDIC_H */
diff --git a/rubbos/app/apache2/include/util_filter.h b/rubbos/app/apache2/include/util_filter.h
deleted file mode 100644
index a5c9802a..00000000
--- a/rubbos/app/apache2/include/util_filter.h
+++ /dev/null
@@ -1,516 +0,0 @@
-/* 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 AP_FILTER_H
-#define AP_FILTER_H
-
-#include "apr.h"
-#include "apr_buckets.h"
-
-#include "httpd.h"
-
-#if APR_HAVE_STDARG_H
-#include <stdarg.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @file util_filter.h
- * @brief Apache filter library
- */
-
-/** Returned by the bottom-most filter if no data was written.
- * @see ap_pass_brigade(). */
-#define AP_NOBODY_WROTE -1
-/** Returned by the bottom-most filter if no data was read.
- * @see ap_get_brigade(). */
-#define AP_NOBODY_READ -2
-/** Returned when?? @bug find out when! */
-#define AP_FILTER_ERROR -3
-
-/**
- * input filtering modes
- */
-typedef enum {
- /** The filter should return at most readbytes data. */
- AP_MODE_READBYTES,
- /** The filter should return at most one line of CRLF data.
- * (If a potential line is too long or no CRLF is found, the
- * filter may return partial data).
- */
- AP_MODE_GETLINE,
- /** The filter should implicitly eat any CRLF pairs that it sees. */
- AP_MODE_EATCRLF,
- /** The filter read should be treated as speculative and any returned
- * data should be stored for later retrieval in another mode. */
- AP_MODE_SPECULATIVE,
- /** The filter read should be exhaustive and read until it can not
- * read any more.
- * Use this mode with extreme caution.
- */
- AP_MODE_EXHAUSTIVE,
- /** The filter should initialize the connection if needed,
- * NNTP or FTP over SSL for example.
- */
- AP_MODE_INIT
-} ap_input_mode_t;
-
-/**
- * @defgroup filter FILTER CHAIN
- *
- * Filters operate using a "chaining" mechanism. The filters are chained
- * together into a sequence. When output is generated, it is passed through
- * each of the filters on this chain, until it reaches the end (or "bottom")
- * and is placed onto the network.
- *
- * The top of the chain, the code generating the output, is typically called
- * a "content generator." The content generator's output is fed into the
- * filter chain using the standard Apache output mechanisms: ap_rputs(),
- * ap_rprintf(), ap_rwrite(), etc.
- *
- * Each filter is defined by a callback. This callback takes the output from
- * the previous filter (or the content generator if there is no previous
- * filter), operates on it, and passes the result to the next filter in the
- * chain. This pass-off is performed using the ap_fc_* functions, such as
- * ap_fc_puts(), ap_fc_printf(), ap_fc_write(), etc.
- *
- * When content generation is complete, the system will pass an "end of
- * stream" marker into the filter chain. The filters will use this to flush
- * out any internal state and to detect incomplete syntax (for example, an
- * unterminated SSI directive).
- */
-
-/* forward declare the filter type */
-typedef struct ap_filter_t ap_filter_t;
-
-/**
- * @name Filter callbacks
- *
- * This function type is used for filter callbacks. It will be passed a
- * pointer to "this" filter, and a "bucket" containing the content to be
- * filtered.
- *
- * In filter->ctx, the callback will find its context. This context is
- * provided here, so that a filter may be installed multiple times, each
- * receiving its own per-install context pointer.
- *
- * Callbacks are associated with a filter definition, which is specified
- * by name. See ap_register_input_filter() and ap_register_output_filter()
- * for setting the association between a name for a filter and its
- * associated callback (and other information).
- *
- * If the initialization function argument passed to the registration
- * functions is non-NULL, it will be called iff the filter is in the input
- * or output filter chains and before any data is generated to allow the
- * filter to prepare for processing.
- *
- * The *bucket structure (and all those referenced by ->next and ->prev)
- * should be considered "const". The filter is allowed to modify the
- * next/prev to insert/remove/replace elements in the bucket list, but
- * the types and values of the individual buckets should not be altered.
- *
- * For the input and output filters, the return value of a filter should be
- * an APR status value. For the init function, the return value should
- * be an HTTP error code or OK if it was successful.
- *
- * @ingroup filter
- * @{
- */
-typedef apr_status_t (*ap_out_filter_func)(ap_filter_t *f,
- apr_bucket_brigade *b);
-typedef apr_status_t (*ap_in_filter_func)(ap_filter_t *f,
- apr_bucket_brigade *b,
- ap_input_mode_t mode,
- apr_read_type_e block,
- apr_off_t readbytes);
-typedef int (*ap_init_filter_func)(ap_filter_t *f);
-
-typedef union ap_filter_func {
- ap_out_filter_func out_func;
- ap_in_filter_func in_func;
-} ap_filter_func;
-
-/** @} */
-
-/**
- * Filters have different types/classifications. These are used to group
- * and sort the filters to properly sequence their operation.
- *
- * The types have a particular sort order, which allows us to insert them
- * into the filter chain in a determistic order. Within a particular grouping,
- * the ordering is equivalent to the order of calls to ap_add_*_filter().
- */
-typedef enum {
- /** These filters are used to alter the content that is passed through
- * them. Examples are SSI or PHP. */
- AP_FTYPE_RESOURCE = 10,
- /** These filters are used to alter the content as a whole, but after all
- * AP_FTYPE_RESOURCE filters are executed. These filters should not
- * change the content-type. An example is deflate. */
- AP_FTYPE_CONTENT_SET = 20,
- /** These filters are used to handle the protocol between server and
- * client. Examples are HTTP and POP. */
- AP_FTYPE_PROTOCOL = 30,
- /** These filters implement transport encodings (e.g., chunking). */
- AP_FTYPE_TRANSCODE = 40,
- /** These filters will alter the content, but in ways that are
- * more strongly associated with the connection. Examples are
- * splitting an HTTP connection into multiple requests and
- * buffering HTTP responses across multiple requests.
- *
- * It is important to note that these types of filters are not
- * allowed in a sub-request. A sub-request's output can certainly
- * be filtered by ::AP_FTYPE_RESOURCE filters, but all of the "final
- * processing" is determined by the main request. */
- AP_FTYPE_CONNECTION = 50,
- /** These filters don't alter the content. They are responsible for
- * sending/receiving data to/from the client. */
- AP_FTYPE_NETWORK = 60
-} ap_filter_type;
-
-/**
- * This is the request-time context structure for an installed filter (in
- * the output filter chain). It provides the callback to use for filtering,
- * the request this filter is associated with (which is important when
- * an output chain also includes sub-request filters), the context for this
- * installed filter, and the filter ordering/chaining fields.
- *
- * Filter callbacks are free to use ->ctx as they please, to store context
- * during the filter process. Generally, this is superior over associating
- * the state directly with the request. A callback should not change any of
- * the other fields.
- */
-
-typedef struct ap_filter_rec_t ap_filter_rec_t;
-
-/**
- * This structure is used for recording information about the
- * registered filters. It associates a name with the filter's callback
- * and filter type.
- *
- * At the moment, these are simply linked in a chain, so a ->next pointer
- * is available.
- */
-struct ap_filter_rec_t {
- /** The registered name for this filter */
- const char *name;
- /** The function to call when this filter is invoked. */
- ap_filter_func filter_func;
- /** The function to call before the handlers are invoked. Notice
- * that this function is called only for filters participating in
- * the http protocol. Filters for other protocols are to be
- * initiliazed by the protocols themselves. */
- ap_init_filter_func filter_init_func;
- /** The type of filter, either AP_FTYPE_CONTENT or AP_FTYPE_CONNECTION.
- * An AP_FTYPE_CONTENT filter modifies the data based on information
- * found in the content. An AP_FTYPE_CONNECTION filter modifies the
- * data based on the type of connection.
- */
- ap_filter_type ftype;
-
- /** The next filter_rec in the list */
- struct ap_filter_rec_t *next;
-};
-
-/**
- * The representation of a filter chain. Each request has a list
- * of these structures which are called in turn to filter the data. Sub
- * requests get an exact copy of the main requests filter chain.
- */
-struct ap_filter_t {
- /** The internal representation of this filter. This includes
- * the filter's name, type, and the actual function pointer.
- */
- ap_filter_rec_t *frec;
-
- /** A place to store any data associated with the current filter */
- void *ctx;
-
- /** The next filter in the chain */
- ap_filter_t *next;
-
- /** The request_rec associated with the current filter. If a sub-request
- * adds filters, then the sub-request is the request associated with the
- * filter.
- */
- request_rec *r;
-
- /** The conn_rec associated with the current filter. This is analogous
- * to the request_rec, except that it is used for input filtering.
- */
- conn_rec *c;
-};
-
-/**
- * Get the current bucket brigade from the next filter on the filter
- * stack. The filter returns an apr_status_t value. If the bottom-most
- * filter doesn't read from the network, then ::AP_NOBODY_READ is returned.
- * The bucket brigade will be empty when there is nothing left to get.
- * @param filter The next filter in the chain
- * @param bucket The current bucket brigade. The original brigade passed
- * to ap_get_brigade() must be empty.
- * @param mode The way in which the data should be read
- * @param block How the operations should be performed
- * ::APR_BLOCK_READ, ::APR_NONBLOCK_READ
- * @param readbytes How many bytes to read from the next filter.
- */
-AP_DECLARE(apr_status_t) ap_get_brigade(ap_filter_t *filter,
- apr_bucket_brigade *bucket,
- ap_input_mode_t mode,
- apr_read_type_e block,
- apr_off_t readbytes);
-
-/**
- * Pass the current bucket brigade down to the next filter on the filter
- * stack. The filter returns an apr_status_t value. If the bottom-most
- * filter doesn't write to the network, then ::AP_NOBODY_WROTE is returned.
- * The caller relinquishes ownership of the brigade.
- * @param filter The next filter in the chain
- * @param bucket The current bucket brigade
- */
-AP_DECLARE(apr_status_t) ap_pass_brigade(ap_filter_t *filter,
- apr_bucket_brigade *bucket);
-
-/**
- * This function is used to register an input filter with the system.
- * After this registration is performed, then a filter may be added
- * into the filter chain by using ap_add_input_filter() and simply
- * specifying the name.
- *
- * @param name The name to attach to the filter function
- * @param filter_func The filter function to name
- * @param filter_init The function to call before the filter handlers
- are invoked
- * @param ftype The type of filter function, either ::AP_FTYPE_CONTENT or
- * ::AP_FTYPE_CONNECTION
- * @see add_input_filter()
- */
-AP_DECLARE(ap_filter_rec_t *) ap_register_input_filter(const char *name,
- ap_in_filter_func filter_func,
- ap_init_filter_func filter_init,
- ap_filter_type ftype);
-/**
- * This function is used to register an output filter with the system.
- * After this registration is performed, then a filter may be added
- * into the filter chain by using ap_add_output_filter() and simply
- * specifying the name.
- *
- * @param name The name to attach to the filter function
- * @param filter_func The filter function to name
- * @param filter_init The function to call before the filter handlers
- * are invoked
- * @param ftype The type of filter function, either ::AP_FTYPE_CONTENT or
- * ::AP_FTYPE_CONNECTION
- * @see ap_add_output_filter()
- */
-AP_DECLARE(ap_filter_rec_t *) ap_register_output_filter(const char *name,
- ap_out_filter_func filter_func,
- ap_init_filter_func filter_init,
- ap_filter_type ftype);
-
-/**
- * Adds a named filter into the filter chain on the specified request record.
- * The filter will be installed with the specified context pointer.
- *
- * Filters added in this way will always be placed at the end of the filters
- * that have the same type (thus, the filters have the same order as the
- * calls to ap_add_filter). If the current filter chain contains filters
- * from another request, then this filter will be added before those other
- * filters.
- *
- * To re-iterate that last comment. This function is building a FIFO
- * list of filters. Take note of that when adding your filter to the chain.
- *
- * @param name The name of the filter to add
- * @param ctx Context data to provide to the filter
- * @param r The request to add this filter for (or NULL if it isn't associated with a request)
- * @param c The connection to add the fillter for
- */
-AP_DECLARE(ap_filter_t *) ap_add_input_filter(const char *name, void *ctx,
- request_rec *r, conn_rec *c);
-
-/**
- * Variant of ap_add_input_filter() that accepts a registered filter handle
- * (as returned by ap_register_input_filter()) rather than a filter name
- *
- * @param f The filter handle to add
- * @param ctx Context data to provide to the filter
- * @param r The request to add this filter for (or NULL if it isn't associated with a request)
- * @param c The connection to add the fillter for
- */
-AP_DECLARE(ap_filter_t *) ap_add_input_filter_handle(ap_filter_rec_t *f,
- void *ctx,
- request_rec *r,
- conn_rec *c);
-
-/**
- * Returns the filter handle for use with ap_add_input_filter_handle.
- *
- * @param name The filter name to look up
- */
-AP_DECLARE(ap_filter_rec_t *) ap_get_input_filter_handle(const char *name);
-
-/**
- * Add a filter to the current request. Filters are added in a FIFO manner.
- * The first filter added will be the first filter called.
- * @param name The name of the filter to add
- * @param ctx Context data to set in the filter
- * @param r The request to add this filter for (or NULL if it isn't associated with a request)
- * @param c The connection to add this filter for
- */
-AP_DECLARE(ap_filter_t *) ap_add_output_filter(const char *name, void *ctx,
- request_rec *r, conn_rec *c);
-
-/**
- * Variant of ap_add_output_filter() that accepts a registered filter handle
- * (as returned by ap_register_output_filter()) rather than a filter name
- *
- * @param f The filter handle to add
- * @param r The request to add this filter for (or NULL if it isn't associated with a request)
- * @param c The connection to add the fillter for
- */
-AP_DECLARE(ap_filter_t *) ap_add_output_filter_handle(ap_filter_rec_t *f,
- void *ctx,
- request_rec *r,
- conn_rec *c);
-
-/**
- * Returns the filter handle for use with ap_add_output_filter_handle.
- *
- * @param name The filter name to look up
- */
-AP_DECLARE(ap_filter_rec_t *) ap_get_output_filter_handle(const char *name);
-
-/**
- * Remove an input filter from either the request or connection stack
- * it is associated with.
- * @param f The filter to remove
- */
-
-AP_DECLARE(void) ap_remove_input_filter(ap_filter_t *f);
-
-/**
- * Remove an output filter from either the request or connection stack
- * it is associated with.
- * @param f The filter to remove
- */
-
-AP_DECLARE(void) ap_remove_output_filter(ap_filter_t *f);
-
-/* The next two filters are for abstraction purposes only. They could be
- * done away with, but that would require that we break modules if we ever
- * want to change our filter registration method. The basic idea, is that
- * all filters have a place to store data, the ctx pointer. These functions
- * fill out that pointer with a bucket brigade, and retrieve that data on
- * the next call. The nice thing about these functions, is that they
- * automatically concatenate the bucket brigades together for you. This means
- * that if you have already stored a brigade in the filters ctx pointer, then
- * when you add more it will be tacked onto the end of that brigade. When
- * you retrieve data, if you pass in a bucket brigade to the get function,
- * it will append the current brigade onto the one that you are retrieving.
- */
-
-/**
- * prepare a bucket brigade to be setaside. If a different brigade was
- * set-aside earlier, then the two brigades are concatenated together.
- * @param f The current filter
- * @param save_to The brigade that was previously set-aside. Regardless, the
- * new bucket brigade is returned in this location.
- * @param b The bucket brigade to save aside. This brigade is always empty
- * on return
- * @param p Ensure that all data in the brigade lives as long as this pool
- */
-AP_DECLARE(apr_status_t) ap_save_brigade(ap_filter_t *f,
- apr_bucket_brigade **save_to,
- apr_bucket_brigade **b, apr_pool_t *p);
-
-/**
- * Flush function for apr_brigade_* calls. This calls ap_pass_brigade
- * to flush the brigade if the brigade buffer overflows.
- * @param bb The brigade to flush
- * @param ctx The filter to pass the brigade to
- * @note this function has nothing to do with FLUSH buckets. It is simply
- * a way to flush content out of a brigade and down a filter stack.
- */
-AP_DECLARE_NONSTD(apr_status_t) ap_filter_flush(apr_bucket_brigade *bb,
- void *ctx);
-
-/**
- * Flush the current brigade down the filter stack.
- * @param f The current filter
- * @param bb The brigade to flush
- */
-AP_DECLARE(apr_status_t) ap_fflush(ap_filter_t *f, apr_bucket_brigade *bb);
-
-/**
- * Write a buffer for the current filter, buffering if possible.
- * @param f the filter doing the writing
- * @param bb The brigade to buffer into
- * @param data The data to write
- * @param nbyte The number of bytes in the data
- */
-#define ap_fwrite(f, bb, data, nbyte) \
- apr_brigade_write(bb, ap_filter_flush, f, data, nbyte)
-
-/**
- * Write a buffer for the current filter, buffering if possible.
- * @param f the filter doing the writing
- * @param bb The brigade to buffer into
- * @param str The string to write
- */
-#define ap_fputs(f, bb, str) \
- apr_brigade_puts(bb, ap_filter_flush, f, str)
-
-/**
- * Write a character for the current filter, buffering if possible.
- * @param f the filter doing the writing
- * @param bb The brigade to buffer into
- * @param c The character to write
- */
-#define ap_fputc(f, bb, c) \
- apr_brigade_putc(bb, ap_filter_flush, f, c)
-
-/**
- * Write an unspecified number of strings to the current filter
- * @param f the filter doing the writing
- * @param bb The brigade to buffer into
- * @param ... The strings to write
- */
-AP_DECLARE_NONSTD(apr_status_t) ap_fputstrs(ap_filter_t *f,
- apr_bucket_brigade *bb,
- ...);
-
-/**
- * Output data to the filter in printf format
- * @param f the filter doing the writing
- * @param bb The brigade to buffer into
- * @param fmt The format string
- * @param ... The argumets to use to fill out the format string
- */
-AP_DECLARE_NONSTD(apr_status_t) ap_fprintf(ap_filter_t *f,
- apr_bucket_brigade *bb,
- const char *fmt,
- ...)
- __attribute__((format(printf,3,4)));
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !AP_FILTER_H */
diff --git a/rubbos/app/apache2/include/util_ldap.h b/rubbos/app/apache2/include/util_ldap.h
deleted file mode 100644
index 605f3b72..00000000
--- a/rubbos/app/apache2/include/util_ldap.h
+++ /dev/null
@@ -1,318 +0,0 @@
-/* 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 UTIL_LDAP_H
-#define UTIL_LDAP_H
-
-#include <apr_ldap.h>
-
-/* this whole thing disappears if LDAP is not enabled */
-#ifdef APU_HAS_LDAP
-
-/* APR header files */
-#include <apr_thread_mutex.h>
-#include <apr_thread_rwlock.h>
-#include <apr_tables.h>
-#include <apr_time.h>
-
-/* Apache header files */
-#include "ap_config.h"
-#include "httpd.h"
-#include "http_config.h"
-#include "http_core.h"
-#include "http_log.h"
-#include "http_protocol.h"
-#include "http_request.h"
-
-#if APR_HAS_SHARED_MEMORY
-#include "apr_rmm.h"
-#include "apr_shm.h"
-#endif
-
-/* Create a set of LDAP_DECLARE(type), LDLDAP_DECLARE(type) and
- * LDAP_DECLARE_DATA with appropriate export and import tags for the platform
- */
-#if !defined(WIN32)
-#define LDAP_DECLARE(type) type
-#define LDAP_DECLARE_NONSTD(type) type
-#define LDAP_DECLARE_DATA
-#elif defined(LDAP_DECLARE_STATIC)
-#define LDAP_DECLARE(type) type __stdcall
-#define LDAP_DECLARE_NONSTD(type) type
-#define LDAP_DECLARE_DATA
-#elif defined(LDAP_DECLARE_EXPORT)
-#define LDAP_DECLARE(type) __declspec(dllexport) type __stdcall
-#define LDAP_DECLARE_NONSTD(type) __declspec(dllexport) type
-#define LDAP_DECLARE_DATA __declspec(dllexport)
-#else
-#define LDAP_DECLARE(type) __declspec(dllimport) type __stdcall
-#define LDAP_DECLARE_NONSTD(type) __declspec(dllimport) type
-#define LDAP_DECLARE_DATA __declspec(dllimport)
-#endif
-
-/*
- * LDAP Connections
- */
-
-/* Values that the deref member can have */
-typedef enum {
- never=LDAP_DEREF_NEVER,
- searching=LDAP_DEREF_SEARCHING,
- finding=LDAP_DEREF_FINDING,
- always=LDAP_DEREF_ALWAYS
-} deref_options;
-
-/* Structure representing an LDAP connection */
-typedef struct util_ldap_connection_t {
- LDAP *ldap;
- apr_pool_t *pool; /* Pool from which this connection is created */
-#if APR_HAS_THREADS
- apr_thread_mutex_t *lock; /* Lock to indicate this connection is in use */
-#endif
- int bound; /* Flag to indicate whether this connection is bound yet */
-
- const char *host; /* Name of the LDAP server (or space separated list) */
- int port; /* Port of the LDAP server */
- deref_options deref; /* how to handle alias dereferening */
-
- const char *binddn; /* DN to bind to server (can be NULL) */
- const char *bindpw; /* Password to bind to server (can be NULL) */
-
- int secure; /* True if use SSL connection */
-
- const char *reason; /* Reason for an error failure */
-
- struct util_ldap_connection_t *next;
-} util_ldap_connection_t;
-
-/* LDAP cache state information */
-typedef struct util_ldap_state_t {
- apr_pool_t *pool; /* pool from which this state is allocated */
-#if APR_HAS_THREADS
- apr_thread_mutex_t *mutex; /* mutex lock for the connection list */
-#endif
- apr_global_mutex_t *util_ldap_cache_lock;
-
- apr_size_t cache_bytes; /* Size (in bytes) of shared memory cache */
- char *cache_file; /* filename for shm */
- long search_cache_ttl; /* TTL for search cache */
- long search_cache_size; /* Size (in entries) of search cache */
- long compare_cache_ttl; /* TTL for compare cache */
- long compare_cache_size; /* Size (in entries) of compare cache */
-
- struct util_ldap_connection_t *connections;
- char *cert_auth_file;
- int cert_file_type;
- int ssl_support;
-
-#if APR_HAS_SHARED_MEMORY
- apr_shm_t *cache_shm;
- apr_rmm_t *cache_rmm;
-#endif
-
- /* cache ald */
- void *util_ldap_cache;
- char *lock_file; /* filename for shm lock mutex */
- int connectionTimeout;
-
-} util_ldap_state_t;
-
-
-/**
- * Open a connection to an LDAP server
- * @param ldc A structure containing the expanded details of the server
- * to connect to. The handle to the LDAP connection is returned
- * as ldc->ldap.
- * @tip This function connects to the LDAP server and binds. It does not
- * connect if already connected (ldc->ldap != NULL). Does not bind
- * if already bound.
- * @return If successful LDAP_SUCCESS is returned.
- * @deffunc int util_ldap_connection_open(request_rec *r,
- * util_ldap_connection_t *ldc)
- */
-LDAP_DECLARE(int) util_ldap_connection_open(request_rec *r,
- util_ldap_connection_t *ldc);
-
-/**
- * Close a connection to an LDAP server
- * @param ldc A structure containing the expanded details of the server
- * that was connected.
- * @tip This function unbinds from the LDAP server, and clears ldc->ldap.
- * It is possible to rebind to this server again using the same ldc
- * structure, using apr_ldap_open_connection().
- * @deffunc util_ldap_close_connection(util_ldap_connection_t *ldc)
- */
-LDAP_DECLARE(void) util_ldap_connection_close(util_ldap_connection_t *ldc);
-
-/**
- * Unbind a connection to an LDAP server
- * @param ldc A structure containing the expanded details of the server
- * that was connected.
- * @tip This function unbinds the LDAP connection, and disconnects from
- * the server. It is used during error conditions, to bring the LDAP
- * connection back to a known state.
- * @deffunc apr_status_t util_ldap_connection_unbind(util_ldap_connection_t *ldc)
- */
-LDAP_DECLARE_NONSTD(apr_status_t) util_ldap_connection_unbind(void *param);
-
-/**
- * Cleanup a connection to an LDAP server
- * @param ldc A structure containing the expanded details of the server
- * that was connected.
- * @tip This function is registered with the pool cleanup to close down the
- * LDAP connections when the server is finished with them.
- * @deffunc apr_status_t util_ldap_connection_cleanup(util_ldap_connection_t *ldc)
- */
-LDAP_DECLARE_NONSTD(apr_status_t) util_ldap_connection_cleanup(void *param);
-
-/**
- * Find a connection in a list of connections
- * @param r The request record
- * @param host The hostname to connect to (multiple hosts space separated)
- * @param port The port to connect to
- * @param binddn The DN to bind with
- * @param bindpw The password to bind with
- * @param deref The dereferencing behavior
- * @param secure use SSL on the connection
- * @tip Once a connection is found and returned, a lock will be acquired to
- * lock that particular connection, so that another thread does not try and
- * use this connection while it is busy. Once you are finished with a connection,
- * apr_ldap_connection_close() must be called to release this connection.
- * @deffunc util_ldap_connection_t *util_ldap_connection_find(request_rec *r, const char *host, int port,
- * const char *binddn, const char *bindpw, deref_options deref,
- * int netscapessl, int starttls)
- */
-LDAP_DECLARE(util_ldap_connection_t *) util_ldap_connection_find(request_rec *r, const char *host, int port,
- const char *binddn, const char *bindpw, deref_options deref,
- int secure);
-
-
-/**
- * Compare two DNs for sameness
- * @param r The request record
- * @param ldc The LDAP connection being used.
- * @param url The URL of the LDAP connection - used for deciding which cache to use.
- * @param dn The first DN to compare.
- * @param reqdn The DN to compare the first DN to.
- * @param compare_dn_on_server Flag to determine whether the DNs should be checked using
- * LDAP calls or with a direct string comparision. A direct
- * string comparison is faster, but not as accurate - false
- * negative comparisons are possible.
- * @tip Two DNs can be equal and still fail a string comparison. Eg "dc=example,dc=com"
- * and "dc=example, dc=com". Use the compare_dn_on_server unless there are serious
- * performance issues.
- * @deffunc int util_ldap_cache_comparedn(request_rec *r, util_ldap_connection_t *ldc,
- * const char *url, const char *dn, const char *reqdn,
- * int compare_dn_on_server)
- */
-LDAP_DECLARE(int) util_ldap_cache_comparedn(request_rec *r, util_ldap_connection_t *ldc,
- const char *url, const char *dn, const char *reqdn,
- int compare_dn_on_server);
-
-/**
- * A generic LDAP compare function
- * @param r The request record
- * @param ldc The LDAP connection being used.
- * @param url The URL of the LDAP connection - used for deciding which cache to use.
- * @param dn The DN of the object in which we do the compare.
- * @param attrib The attribute within the object we are comparing for.
- * @param value The value of the attribute we are trying to compare for.
- * @tip Use this function to determine whether an attribute/value pair exists within an
- * object. Typically this would be used to determine LDAP group membership.
- * @deffunc int util_ldap_cache_compare(request_rec *r, util_ldap_connection_t *ldc,
- * const char *url, const char *dn, const char *attrib, const char *value)
- */
-LDAP_DECLARE(int) util_ldap_cache_compare(request_rec *r, util_ldap_connection_t *ldc,
- const char *url, const char *dn, const char *attrib, const char *value);
-
-/**
- * Checks a username/password combination by binding to the LDAP server
- * @param r The request record
- * @param ldc The LDAP connection being used.
- * @param url The URL of the LDAP connection - used for deciding which cache to use.
- * @param basedn The Base DN to search for the user in.
- * @param scope LDAP scope of the search.
- * @param attrs LDAP attributes to return in search.
- * @param filter The user to search for in the form of an LDAP filter. This filter must return
- * exactly one user for the check to be successful.
- * @param bindpw The user password to bind as.
- * @param binddn The DN of the user will be returned in this variable.
- * @param retvals The values corresponding to the attributes requested in the attrs array.
- * @tip The filter supplied will be searched for. If a single entry is returned, an attempt
- * is made to bind as that user. If this bind succeeds, the user is not validated.
- * @deffunc int util_ldap_cache_checkuserid(request_rec *r, util_ldap_connection_t *ldc,
- * char *url, const char *basedn, int scope, char **attrs,
- * char *filter, char *bindpw, char **binddn, char ***retvals)
- */
-LDAP_DECLARE(int) util_ldap_cache_checkuserid(request_rec *r, util_ldap_connection_t *ldc,
- const char *url, const char *basedn, int scope, char **attrs,
- const char *filter, const char *bindpw, const char **binddn, const char ***retvals);
-
-/**
- * Retrieves the LDAP DN of the user without the need to know user password
- * @param r The request record
- * @param ldc The LDAP connection being used.
- * @param url The URL of the LDAP connection - used for deciding which cache to use.
- * @param basedn The Base DN to search for the user in.
- * @param scope LDAP scope of the search.
- * @param attrs LDAP attributes to return in search.
- * @param filter The user to search for in the form of an LDAP filter. This filter must return
- * exactly one user for the check to be successful.
- * @param binddn The DN of the user will be returned in this variable.
- * @param retvals The values corresponding to the attributes requested in the attrs array.
- * @tip The filter supplied will be searched for. A single entry matching the search is returned.
- * @deffunc int util_ldap_cache_getuserdn(request_rec *r, util_ldap_connection_t *ldc,
- * char *url, const char *basedn, int scope, char **attrs,
- * char *filter, char **binddn, char ***retvals)
- */
-LDAP_DECLARE(int) util_ldap_cache_getuserdn(request_rec *r, util_ldap_connection_t *ldc,
- const char *url, const char *basedn, int scope, char **attrs,
- const char *filter, const char **binddn, const char ***retvals);
-
-/**
- * Checks if SSL support is available in mod_ldap
- * @deffunc int util_ldap_ssl_supported(request_rec *r)
- */
-LDAP_DECLARE(int) util_ldap_ssl_supported(request_rec *r);
-
-/* from apr_ldap_cache.c */
-
-/**
- * Init the LDAP cache
- * @param pool The pool to use to initialise the cache
- * @param reqsize The size of the shared memory segement to request. A size
- * of zero requests the max size possible from
- * apr_shmem_init()
- * @deffunc void util_ldap_cache_init(apr_pool_t *p, util_ldap_state_t *st)
- * @return The status code returned is the status code of the
- * apr_smmem_init() call. Regardless of the status, the cache
- * will be set up at least for in-process or in-thread operation.
- */
-apr_status_t util_ldap_cache_init(apr_pool_t *pool, util_ldap_state_t *st);
-
-/* from apr_ldap_cache_mgr.c */
-
-/**
- * Display formatted stats for cache
- * @param The pool to allocate the returned string from
- * @tip This function returns a string allocated from the provided pool that describes
- * various stats about the cache.
- * @deffunc char *util_ald_cache_display(apr_pool_t *pool, util_ldap_state_t *st)
- */
-char *util_ald_cache_display(request_rec *r, util_ldap_state_t *st);
-
-#endif /* APU_HAS_LDAP */
-#endif /* UTIL_LDAP_H */
diff --git a/rubbos/app/apache2/include/util_md5.h b/rubbos/app/apache2/include/util_md5.h
deleted file mode 100644
index 6c5299de..00000000
--- a/rubbos/app/apache2/include/util_md5.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/* 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 APACHE_UTIL_MD5_H
-#define APACHE_UTIL_MD5_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @package Apache MD5 library
- */
-
-#include "apr_md5.h"
-
-/**
- * Create an MD5 checksum of a given string
- * @param a Pool to allocate out of
- * @param string String to get the checksum of
- * @return The checksum
- * @deffunc char *ap_md5(apr_pool_t *a, const unsigned char *string)
- */
-AP_DECLARE(char *) ap_md5(apr_pool_t *a, const unsigned char *string);
-
-/**
- * Create an MD5 checksum of a string of binary data
- * @param a Pool to allocate out of
- * @param buf Buffer to generate checksum for
- * @param len The length of the buffer
- * @return The checksum
- * @deffunc char *ap_md5_binary(apr_pool_t *a, const unsigned char *buf, int len)
- */
-AP_DECLARE(char *) ap_md5_binary(apr_pool_t *a, const unsigned char *buf, int len);
-
-/**
- * Convert an MD5 checksum into a base64 encoding
- * @param p The pool to allocate out of
- * @param context The context to convert
- * @return The converted encoding
- * @deffunc char *ap_md5contextTo64(apr_pool_t *p, apr_md5_ctx_t *context)
- */
-AP_DECLARE(char *) ap_md5contextTo64(apr_pool_t *p, apr_md5_ctx_t *context);
-
-/**
- * Create an MD5 Digest for a given file
- * @param p The pool to allocate out of
- * @param infile The file to create the digest for
- * @deffunc char *ap_md5digest(apr_pool_t *p, apr_file_t *infile)
- */
-AP_DECLARE(char *) ap_md5digest(apr_pool_t *p, apr_file_t *infile);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !APACHE_UTIL_MD5_H */
diff --git a/rubbos/app/apache2/include/util_script.h b/rubbos/app/apache2/include/util_script.h
deleted file mode 100644
index c68b81d9..00000000
--- a/rubbos/app/apache2/include/util_script.h
+++ /dev/null
@@ -1,142 +0,0 @@
-/* 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 APACHE_UTIL_SCRIPT_H
-#define APACHE_UTIL_SCRIPT_H
-
-#include "apr_buckets.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @package Apache script tools
- */
-
-#ifndef APACHE_ARG_MAX
-#ifdef _POSIX_ARG_MAX
-#define APACHE_ARG_MAX _POSIX_ARG_MAX
-#else
-#define APACHE_ARG_MAX 512
-#endif
-#endif
-
-/**
- * Create an environment variable out of an Apache table of key-value pairs
- * @param p pool to allocate out of
- * @param t Apache table of key-value pairs
- * @return An array containing the same key-value pairs suitable for
- * use with an exec call.
- * @deffunc char **ap_create_environment(apr_pool_t *p, apr_table_t *t)
- */
-AP_DECLARE(char **) ap_create_environment(apr_pool_t *p, apr_table_t *t);
-
-/**
- * This "cute" little function comes about because the path info on
- * filenames and URLs aren't always the same. So we take the two,
- * and find as much of the two that match as possible.
- * @param uri The uri we are currently parsing
- * @param path_info The current path info
- * @return The length of the path info
- * @deffunc int ap_find_path_info(const char *uri, const char *path_info)
- */
-AP_DECLARE(int) ap_find_path_info(const char *uri, const char *path_info);
-
-/**
- * Add CGI environment variables required by HTTP/1.1 to the request's
- * environment table
- * @param r the current request
- * @deffunc void ap_add_cgi_vars(request_rec *r)
- */
-AP_DECLARE(void) ap_add_cgi_vars(request_rec *r);
-
-/**
- * Add common CGI environment variables to the requests environment table
- * @param r The current request
- * @deffunc void ap_add_common_vars(request_rec *r)
- */
-AP_DECLARE(void) ap_add_common_vars(request_rec *r);
-
-/**
- * Read headers output from a script, ensuring that the output is valid. If
- * the output is valid, then the headers are added to the headers out of the
- * current request
- * @param r The current request
- * @param f The file to read from
- * @param buffer Empty when calling the function. On output, if there was an
- * error, the string that cause the error is stored here.
- * @return HTTP_OK on success, HTTP_INTERNAL_SERVER_ERROR otherwise
- * @deffunc int ap_scan_script_header_err(request_rec *r, apr_file_t *f, char *buffer)
- */
-AP_DECLARE(int) ap_scan_script_header_err(request_rec *r, apr_file_t *f, char *buffer);
-
-/**
- * Read headers output from a script, ensuring that the output is valid. If
- * the output is valid, then the headers are added to the headers out of the
- * current request
- * @param r The current request
- * @param bb The brigade from which to read
- * @param buffer Empty when calling the function. On output, if there was an
- * error, the string that cause the error is stored here.
- * @return HTTP_OK on success, HTTP_INTERNAL_SERVER_ERROR otherwise
- * @deffunc int ap_scan_script_header_err_brigade(request_rec *r, apr_bucket_brigade *bb, char *buffer)
- */
-AP_DECLARE(int) ap_scan_script_header_err_brigade(request_rec *r,
- apr_bucket_brigade *bb,
- char *buffer);
-
-/**
- * Read headers strings from a script, ensuring that the output is valid. If
- * the output is valid, then the headers are added to the headers out of the
- * current request
- * @param r The current request
- * @param buffer Empty when calling the function. On output, if there was an
- * error, the string that cause the error is stored here.
- * @param termch Pointer to the last character parsed.
- * @param termarg Pointer to an int to capture the last argument parsed.
- * @param args String arguments to parse consecutively for headers,
- * a NULL argument terminates the list.
- * @return HTTP_OK on success, HTTP_INTERNAL_SERVER_ERROR otherwise
- * @deffunc int ap_scan_script_header_err_core(request_rec *r, char *buffer, int (*getsfunc)(char *, int, void *), void *getsfunc_data)
- */
-AP_DECLARE_NONSTD(int) ap_scan_script_header_err_strs(request_rec *r,
- char *buffer,
- const char **termch,
- int *termarg, ...);
-
-/**
- * Read headers output from a script, ensuring that the output is valid. If
- * the output is valid, then the headers are added to the headers out of the
- * current request
- * @param r The current request
- * @param buffer Empty when calling the function. On output, if there was an
- * error, the string that cause the error is stored here.
- * @param getsfunc Function to read the headers from. This function should
- act like gets()
- * @param getsfunc_data The place to read from
- * @return HTTP_OK on success, HTTP_INTERNAL_SERVER_ERROR otherwise
- * @deffunc int ap_scan_script_header_err_core(request_rec *r, char *buffer, int (*getsfunc)(char *, int, void *), void *getsfunc_data)
- */
-AP_DECLARE(int) ap_scan_script_header_err_core(request_rec *r, char *buffer,
- int (*getsfunc) (char *, int, void *),
- void *getsfunc_data);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !APACHE_UTIL_SCRIPT_H */
diff --git a/rubbos/app/apache2/include/util_time.h b/rubbos/app/apache2/include/util_time.h
deleted file mode 100644
index 5e8e394f..00000000
--- a/rubbos/app/apache2/include/util_time.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/* 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 APACHE_UTIL_TIME_H
-#define APACHE_UTIL_TIME_H
-
-#include "apr.h"
-#include "apr_time.h"
-#include "httpd.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @package Apache date-time handling functions
- */
-
-/* Maximum delta from the current time, in seconds, for a past time
- * to qualify as "recent" for use in the ap_explode_recent_*() functions:
- * (Must be a power of two minus one!)
- */
-#define AP_TIME_RECENT_THRESHOLD 15
-
-/**
- * convert a recent time to its human readable components in local timezone
- * @param tm the exploded time
- * @param t the time to explode: MUST be within the last
- * AP_TIME_RECENT_THRESHOLD seconds
- * @note This is a faster alternative to apr_explode_localtime that uses
- * a cache of pre-exploded time structures. It is useful for things
- * that need to explode the current time multiple times per second,
- * like loggers.
- * @return APR_SUCCESS iff successful
- */
-AP_DECLARE(apr_status_t) ap_explode_recent_localtime(apr_time_exp_t *tm,
- apr_time_t t);
-
-/**
- * convert a recent time to its human readable components in GMT timezone
- * @param tm the exploded time
- * @param t the time to explode: MUST be within the last
- * AP_TIME_RECENT_THRESHOLD seconds
- * @note This is a faster alternative to apr_time_exp_gmt that uses
- * a cache of pre-exploded time structures. It is useful for things
- * that need to explode the current time multiple times per second,
- * like loggers.
- * @return APR_SUCCESS iff successful
- */
-AP_DECLARE(apr_status_t) ap_explode_recent_gmt(apr_time_exp_t *tm,
- apr_time_t t);
-
-
-/**
- * format a recent timestamp in the ctime() format.
- * @param date_str String to write to.
- * @param t the time to convert
- */
-AP_DECLARE(apr_status_t) ap_recent_ctime(char *date_str, apr_time_t t);
-
-/**
- * format a recent timestamp in the RFC822 format
- * @param date_str String to write to (must have length >= APR_RFC822_DATE_LEN)
- * @param t the time to convert
- */
-AP_DECLARE(apr_status_t) ap_recent_rfc822_date(char *date_str, apr_time_t t);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !APACHE_UTIL_TIME_H */
diff --git a/rubbos/app/apache2/include/util_xml.h b/rubbos/app/apache2/include/util_xml.h
deleted file mode 100644
index 4965b14e..00000000
--- a/rubbos/app/apache2/include/util_xml.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/* 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 UTIL_XML_H
-#define UTIL_XML_H
-
-#include "apr_xml.h"
-
-#include "httpd.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @package Apache XML library
- */
-
-/**
- * Get XML post data and parse it
- * @param r The current request
- * @param pdoc The XML post data
- * @return HTTP status code
- * @deffunc int ap_xml_parse_input(request_rec *r, apr_xml_doc **pdoc)
- */
-AP_DECLARE(int) ap_xml_parse_input(request_rec *r, apr_xml_doc **pdoc);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* UTIL_XML_H */