Apache2
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
cache_disk_common.h
Go to the documentation of this file.
1 /* Licensed to the Apache Software Foundation (ASF) under one or more
2  * contributor license agreements. See the NOTICE file distributed with
3  * this work for additional information regarding copyright ownership.
4  * The ASF licenses this file to You under the Apache License, Version 2.0
5  * (the "License"); you may not use this file except in compliance with
6  * the License. You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
26 #ifndef CACHE_DIST_COMMON_H
27 #define CACHE_DIST_COMMON_H
28 
29 #define VARY_FORMAT_VERSION 5
30 #define DISK_FORMAT_VERSION 6
31 
32 #define CACHE_HEADER_SUFFIX ".header"
33 #define CACHE_DATA_SUFFIX ".data"
34 #define CACHE_VDIR_SUFFIX ".vary"
35 
36 #define AP_TEMPFILE_PREFIX "/"
37 #define AP_TEMPFILE_BASE "aptmp"
38 #define AP_TEMPFILE_SUFFIX "XXXXXX"
39 #define AP_TEMPFILE_BASELEN strlen(AP_TEMPFILE_BASE)
40 #define AP_TEMPFILE_NAMELEN strlen(AP_TEMPFILE_BASE AP_TEMPFILE_SUFFIX)
41 #define AP_TEMPFILE AP_TEMPFILE_PREFIX AP_TEMPFILE_BASE AP_TEMPFILE_SUFFIX
42 
43 typedef struct {
44  /* Indicates the format of the header struct stored on-disk. */
46  /* The HTTP status code returned for this response. */
47  int status;
48  /* The size of the entity name that follows. */
50  /* The number of times we've cached this entity. */
52  /* Miscellaneous time values. */
57  /* The ident of the body file, so we can test the body matches the header */
60  /* Does this cached request have a body? */
61  unsigned int has_body:1;
62  unsigned int header_only:1;
63  /* The parsed cache control header */
66 
67 #endif /* CACHE_DIST_COMMON_H */
68 
size_t apr_size_t
Definition: apr.h:375
apr_dev_t device
Definition: cache_disk_common.h:59
apr_size_t entity_version
Definition: cache_disk_common.h:51
apr_size_t name_len
Definition: cache_disk_common.h:49
apr_time_t date
Definition: cache_disk_common.h:53
apr_ino_t inode
Definition: cache_disk_common.h:58
cache_control_t control
Definition: cache_disk_common.h:64
Definition: cache_disk_common.h:43
Definition: cache_common.h:30
apr_int64_t apr_time_t
Definition: apr_time.h:45
apr_time_t response_time
Definition: cache_disk_common.h:56
int status
Definition: cache_disk_common.h:47
unsigned int apr_uint32_t
Definition: apr.h:334
dev_t apr_dev_t
Definition: apr_file_info.h:135
apr_uint32_t format
Definition: cache_disk_common.h:45
apr_time_t expire
Definition: cache_disk_common.h:54
ino_t apr_ino_t
Definition: apr.h:379
apr_time_t request_time
Definition: cache_disk_common.h:55