/* Licensed to the Apache Software Foundation (ASF) under one or more *contributorlicenseagreements.SeetheNOTICEfiledistributedwith *thisworkforadditionalinformationregardingcopyrightownership. *TheASFlicensesthisfiletoYouundertheApacheLicense,Version2.0 *(the"License");youmaynotusethisfileexceptincompliancewith *theLicense.YoumayobtainacopyoftheLicenseat * *http://www.apache.org/licenses/LICENSE-2.0 * *Unlessrequiredbyapplicablelaworagreedtoinwriting,software *distributedundertheLicenseisdistributedonan"ASIS"BASIS, *WITHOUTWARRANTIESORCONDITIONSOFANYKIND,eitherexpressorimplied. *SeetheLicenseforthespecificlanguagegoverningpermissionsand *limitationsundertheLicense.
*/
/* Create a set of CACHE_DECLARE(type), CACHE_DECLARE_NONSTD(type) and *CACHE_DECLARE_DATAwithappropriateexportandimporttagsfortheplatform
*/ #if !defined(WIN32) #define CACHE_DECLARE(type) type #define CACHE_DECLARE_NONSTD(type) type #define CACHE_DECLARE_DATA #elifdefined(CACHE_DECLARE_STATIC) #define CACHE_DECLARE(type) type __stdcall #define CACHE_DECLARE_NONSTD(type) type #define CACHE_DECLARE_DATA #elifdefined(CACHE_DECLARE_EXPORT) #define CACHE_DECLARE(type) __declspec(dllexport) type __stdcall #define CACHE_DECLARE_NONSTD(type) __declspec(dllexport) type #define CACHE_DECLARE_DATA __declspec(dllexport) #else #define CACHE_DECLARE(type) __declspec(dllimport) type __stdcall #define CACHE_DECLARE_NONSTD(type) __declspec(dllimport) type #define CACHE_DECLARE_DATA __declspec(dllimport) #endif
/* cache info information */ typedefstruct cache_info cache_info; struct cache_info { /** *theoriginaltimecorrespondingtothe'Date:'headeroftherequest *served
*/
apr_time_t date; /** a time when the cached entity is due to expire */
apr_time_t expire; /** r->request_time from the same request */
apr_time_t request_time; /** apr_time_now() at the time the entity was actually cached */
apr_time_t response_time; /** *HTTPstatuscodeofthecachedentity.Thoughnotnecessarilythe *statuscodefinallyissuedtotherequest.
*/ int status; /* cached cache-control */
cache_control_t control;
};
/* cache handle information */ typedefstruct cache_object cache_object_t; struct cache_object { constchar *key;
cache_object_t *next;
cache_info info; /* Opaque portion (specific to the implementation) of the cache object */ void *vobj;
};
/* Create a new table consisting of those elements from an *headerstablethatareallowedtobestoredinacache.
*/
CACHE_DECLARE(apr_table_t *)ap_cache_cacheable_headers(apr_pool_t *pool,
apr_table_t *t,
server_rec *s);
/* Create a new table consisting of those elements from an input *headerstablethatareallowedtobestoredinacache.
*/
CACHE_DECLARE(apr_table_t *)ap_cache_cacheable_headers_in(request_rec *r);
/* Create a new table consisting of those elements from an output *headerstablethatareallowedtobestoredinacache; *ensurethereisacontenttypeandcaptureanyerrors.
*/
CACHE_DECLARE(apr_table_t *)ap_cache_cacheable_headers_out(request_rec *r);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.