blob: f0e7da80049c88082e65b86e5c92a5269300e756 [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 Sysoevf924e6b2004-06-16 19:36:07 +00007#ifndef _NGX_SLAB_H_INCLUDED_
8#define _NGX_SLAB_H_INCLUDED_
9
10
11#include <ngx_config.h>
12#include <ngx_core.h>
13
14
15typedef struct ngx_free_slab_s ngx_free_slab_t;
16
17typedef struct ngx_free_slab_s {
18 ngx_free_slab_t *next;
19}
20
21
22typedef struct ngx_slab_block_s ngx_slab_block_t;
23
24typedef struct ngx_slab_block_s {
25 ngx_free_slab_t *free;
26 ngx_slab_buf_t *next;
27 size_t color;
28};
29
30
31typedef struct {
32 ngx_slab_buf_t *blocks;
33 size_t size;
34
35 void *start;
36 uint32_t map;
37
38 ngx_log_t *log;
39 ngx_free_pool_t free;
40} ngx_slab_pool_t;
41
42
43#endif /* _NGX_SLAB_H_INCLUDED_ */