diff options
Diffstat (limited to 'modules/cache/cache_disk_common.h')
-rw-r--r-- | modules/cache/cache_disk_common.h | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/modules/cache/cache_disk_common.h b/modules/cache/cache_disk_common.h new file mode 100644 index 0000000..ace569e --- /dev/null +++ b/modules/cache/cache_disk_common.h @@ -0,0 +1,68 @@ +/* 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 cache_disk_common.h + * @brief Common Disk Cache vars/structs + * + * @defgroup Cache_cache Cache Functions + * @ingroup MOD_DISK_CACHE + * @{ + */ + +#ifndef CACHE_DIST_COMMON_H +#define CACHE_DIST_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? */ + unsigned int has_body:1; + unsigned int header_only:1; + /* The parsed cache control header */ + cache_control_t control; +} disk_cache_info_t; + +#endif /* CACHE_DIST_COMMON_H */ +/** @} */ |