blob: 4b0a7344fc97d6cc6af8f49c8781ccbd1a4139ab [file] [log] [blame]
Igor Sysoevd90282d2004-09-28 08:34:51 +00001
2/*
Igor Sysoevff8da912004-09-29 16:00:49 +00003 * Copyright (C) Igor Sysoev
Igor Sysoevd90282d2004-09-28 08:34:51 +00004 */
5
6
Igor Sysoev1b138ed2003-11-18 21:34:08 +00007#ifndef _NGX_GARBAGE_COLLECTOR_H_INCLUDED_
8#define _NGX_GARBAGE_COLLECTOR_H_INCLUDED_
9
10
11typedef struct ngx_gc_s ngx_gc_t;
12
Igor Sysoev8184d1b2005-03-04 14:06:57 +000013typedef ngx_int_t (*ngx_gc_handler_pt) (ngx_gc_t *ctx, ngx_str_t *name,
14 ngx_dir_t *dir);
Igor Sysoev1b138ed2003-11-18 21:34:08 +000015
16
17struct ngx_gc_s {
18 ngx_path_t *path;
19 u_int deleted;
20 off_t freed;
21 ngx_gc_handler_pt handler;
22 ngx_log_t *log;
23};
24
25
Igor Sysoev8184d1b2005-03-04 14:06:57 +000026ngx_int_t ngx_collect_garbage(ngx_gc_t *ctx, ngx_str_t *dname, ngx_int_t level);
Igor Sysoevd43bee82004-11-20 19:52:20 +000027ngx_int_t ngx_garbage_collector_temp_handler(ngx_gc_t *ctx, ngx_str_t *name,
Igor Sysoev8184d1b2005-03-04 14:06:57 +000028 ngx_dir_t *dir);
Igor Sysoev1b138ed2003-11-18 21:34:08 +000029
30
31#endif /* _NGX_GARBAGE_COLLECTOR_H_INCLUDED_ */