cache_common.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. /**
  17. * @file cache_common.h
  18. * @brief Common Cache structs
  19. *
  20. * @defgroup Cache_cache Cache Functions
  21. * @ingroup MOD_CACHE
  22. * @{
  23. */
  24. #ifndef CACHE_COMMON_H
  25. #define CACHE_COMMON_H
  26. /* a cache control header breakdown */
  27. typedef struct cache_control {
  28. unsigned int parsed:1;
  29. unsigned int cache_control:1;
  30. unsigned int pragma:1;
  31. unsigned int no_cache:1;
  32. unsigned int no_cache_header:1; /* no cache by header match */
  33. unsigned int no_store:1;
  34. unsigned int max_age:1;
  35. unsigned int max_stale:1;
  36. unsigned int min_fresh:1;
  37. unsigned int no_transform:1;
  38. unsigned int only_if_cached:1;
  39. unsigned int public:1;
  40. unsigned int private:1;
  41. unsigned int private_header:1; /* private by header match */
  42. unsigned int must_revalidate:1;
  43. unsigned int proxy_revalidate:1;
  44. unsigned int s_maxage:1;
  45. unsigned int invalidated:1; /* has this entity been invalidated? */
  46. apr_int64_t max_age_value; /* if positive, then set */
  47. apr_int64_t max_stale_value; /* if positive, then set */
  48. apr_int64_t min_fresh_value; /* if positive, then set */
  49. apr_int64_t s_maxage_value; /* if positive, then set */
  50. } cache_control_t;
  51. #endif /* CACHE_COMMON_H */
  52. /** @} */