#ifndef _NGX_HTTP_CACHE_H_INCLUDED_ #define _NGX_HTTP_CACHE_H_INCLUDED_ #include #include #include typedef struct { time_t expires; time_t last_modified; time_t date; off_t length; } ngx_http_cache_header_t; typedef struct { ngx_http_cache_header_t header; size_t key_len; char key[0]; } ngx_http_cache_file_t; typedef struct { u_int32_t crc; ngx_str_t key; ngx_fd_t fd; off_t size; void *data; /* mmap, memory */ time_t accessed; time_t last_modified; time_t updated; /* no needed with kqueue */ int refs; int flags; } ngx_http_cache_entry_t; typedef struct { ngx_file_t file; ngx_str_t key; ngx_path_t *path; ngx_hunk_t *buf; ngx_http_cache_header_t header; ssize_t header_size; } ngx_http_cache_ctx_t; #define NGX_HTTP_CACHE_STALE 1 #define NGX_HTTP_CACHE_AGED 2 int ngx_http_cache_get_file(ngx_http_request_t *r, ngx_http_cache_ctx_t *ctx); int ngx_http_cache_update_file(ngx_http_request_t *r,ngx_http_cache_ctx_t *ctx, ngx_str_t *temp_file); #endif /* _NGX_HTTP_CACHE_H_INCLUDED_ */