From: Guenter Knauf Date: Thu, 11 Nov 2010 14:41:32 +0000 (+0000) Subject: More splitting as suggested by minfrin. X-Git-Tag: 2.3.9~54 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ba6999ccefdd5fb979ed2da6bcee2c1591ec49e1;p=thirdparty%2Fapache%2Fhttpd.git More splitting as suggested by minfrin. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1033952 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/cache/cache_common.h b/modules/cache/cache_common.h index 57686670ba7..9691c0c5a01 100644 --- a/modules/cache/cache_common.h +++ b/modules/cache/cache_common.h @@ -16,7 +16,7 @@ /** * @file cache_common.h - * @brief Common Cache vars/structs + * @brief Common Cache structs * * @defgroup Cache_cache Cache Functions * @ingroup MOD_CACHE @@ -26,23 +26,8 @@ #ifndef CACHE_COMMON_H #define CACHE_COMMON_H -#define VARY_FORMAT_VERSION 5 -#define DISK_FORMAT_VERSION 6 - -#define CACHE_HEADER_SUFFIX ".header" -#define CACHE_DATA_SUFFIX ".data" -#define CACHE_VDIR_SUFFIX ".vary" - -#define AP_TEMPFILE_PREFIX "/" -#define AP_TEMPFILE_BASE "aptmp" -#define AP_TEMPFILE_SUFFIX "XXXXXX" -#define AP_TEMPFILE_BASELEN strlen(AP_TEMPFILE_BASE) -#define AP_TEMPFILE_NAMELEN strlen(AP_TEMPFILE_BASE AP_TEMPFILE_SUFFIX) -#define AP_TEMPFILE AP_TEMPFILE_PREFIX AP_TEMPFILE_BASE AP_TEMPFILE_SUFFIX - /* a cache control header breakdown */ -typedef struct cache_control cache_control_t; -struct cache_control { +typedef struct cache_control { unsigned int parsed:1; unsigned int cache_control:1; unsigned int pragma:1; @@ -64,31 +49,7 @@ struct cache_control { apr_int64_t max_stale_value; /* if positive, then set */ apr_int64_t min_fresh_value; /* if positive, then set */ apr_int64_t s_maxage_value; /* if positive, then set */ -}; - - -typedef struct { - /* Indicates the format of the header struct stored on-disk. */ - apr_uint32_t format; - /* The HTTP status code returned for this response. */ - int status; - /* The size of the entity name that follows. */ - apr_size_t name_len; - /* The number of times we've cached this entity. */ - apr_size_t entity_version; - /* Miscellaneous time values. */ - apr_time_t date; - apr_time_t expire; - apr_time_t request_time; - apr_time_t response_time; - /* The ident of the body file, so we can test the body matches the header */ - apr_ino_t inode; - apr_dev_t device; - /* Does this cached request have a body? */ - int has_body:1; - int header_only:1; - /* The parsed cache control header */ - cache_control_t control; -} disk_cache_info_t; +} cache_control_t; #endif /* CACHE_COMMON_H */ + diff --git a/modules/cache/disk_cache_common.h b/modules/cache/disk_cache_common.h new file mode 100644 index 00000000000..5c93f261257 --- /dev/null +++ b/modules/cache/disk_cache_common.h @@ -0,0 +1,67 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file disk_cache_common.h + * @brief Common Disk Cache vars/structs + * + * @defgroup Cache_cache Cache Functions + * @ingroup MOD_DISK_CACHE + * @{ + */ + +#ifndef DISK_CACHE_COMMON_H +#define DISK_CACHE_COMMON_H + +#define VARY_FORMAT_VERSION 5 +#define DISK_FORMAT_VERSION 6 + +#define CACHE_HEADER_SUFFIX ".header" +#define CACHE_DATA_SUFFIX ".data" +#define CACHE_VDIR_SUFFIX ".vary" + +#define AP_TEMPFILE_PREFIX "/" +#define AP_TEMPFILE_BASE "aptmp" +#define AP_TEMPFILE_SUFFIX "XXXXXX" +#define AP_TEMPFILE_BASELEN strlen(AP_TEMPFILE_BASE) +#define AP_TEMPFILE_NAMELEN strlen(AP_TEMPFILE_BASE AP_TEMPFILE_SUFFIX) +#define AP_TEMPFILE AP_TEMPFILE_PREFIX AP_TEMPFILE_BASE AP_TEMPFILE_SUFFIX + +typedef struct { + /* Indicates the format of the header struct stored on-disk. */ + apr_uint32_t format; + /* The HTTP status code returned for this response. */ + int status; + /* The size of the entity name that follows. */ + apr_size_t name_len; + /* The number of times we've cached this entity. */ + apr_size_t entity_version; + /* Miscellaneous time values. */ + apr_time_t date; + apr_time_t expire; + apr_time_t request_time; + apr_time_t response_time; + /* The ident of the body file, so we can test the body matches the header */ + apr_ino_t inode; + apr_dev_t device; + /* Does this cached request have a body? */ + int has_body:1; + int header_only:1; + /* The parsed cache control header */ + cache_control_t control; +} disk_cache_info_t; + +#endif /* DISK_CACHE_COMMON_H */ diff --git a/modules/cache/mod_disk_cache.h b/modules/cache/mod_disk_cache.h index f16801b3434..3d3e3debdc1 100644 --- a/modules/cache/mod_disk_cache.h +++ b/modules/cache/mod_disk_cache.h @@ -17,10 +17,9 @@ #ifndef MOD_DISK_CACHE_H #define MOD_DISK_CACHE_H -#include "mod_cache.h" #include "apr_file_io.h" -#include "cache_common.h" +#include "disk_cache_common.h" /* * include for mod_disk_cache: Disk Based HTTP 1.1 Cache. diff --git a/support/htcacheclean.c b/support/htcacheclean.c index d2b80efa66a..c359ab193ce 100644 --- a/support/htcacheclean.c +++ b/support/htcacheclean.c @@ -36,7 +36,9 @@ #include "apr_ring.h" #include "apr_date.h" #include "apr_buckets.h" + #include "../modules/cache/cache_common.h" +#include "../modules/cache/disk_cache_common.h" #if APR_HAVE_UNISTD_H #include