Groonga 3.0.9 Source Code Document
Main Page
Related Pages
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
groonga
vendor
nginx-1.4.2
src
core
ngx_slab.h
Go to the documentation of this file.
1
2
/*
3
* Copyright (C) Igor Sysoev
4
* Copyright (C) Nginx, Inc.
5
*/
6
7
8
#ifndef _NGX_SLAB_H_INCLUDED_
9
#define _NGX_SLAB_H_INCLUDED_
10
11
12
#include <
ngx_config.h
>
13
#include <
ngx_core.h
>
14
15
16
typedef
struct
ngx_slab_page_s
ngx_slab_page_t
;
17
18
struct
ngx_slab_page_s
{
19
uintptr_t
slab
;
20
ngx_slab_page_t
*
next
;
21
uintptr_t
prev
;
22
};
23
24
25
typedef
struct
{
26
ngx_shmtx_sh_t
lock
;
27
28
size_t
min_size
;
29
size_t
min_shift
;
30
31
ngx_slab_page_t
*
pages
;
32
ngx_slab_page_t
free
;
33
34
u_char *
start
;
35
u_char *
end
;
36
37
ngx_shmtx_t
mutex
;
38
39
u_char *
log_ctx
;
40
u_char
zero
;
41
42
void
*
data
;
43
void
*
addr
;
44
}
ngx_slab_pool_t
;
45
46
47
void
ngx_slab_init
(
ngx_slab_pool_t
*pool);
48
void
*
ngx_slab_alloc
(
ngx_slab_pool_t
*pool,
size_t
size);
49
void
*
ngx_slab_alloc_locked
(
ngx_slab_pool_t
*pool,
size_t
size);
50
void
ngx_slab_free
(
ngx_slab_pool_t
*pool,
void
*p);
51
void
ngx_slab_free_locked
(
ngx_slab_pool_t
*pool,
void
*p);
52
53
54
#endif
/* _NGX_SLAB_H_INCLUDED_ */
Generated on Sun Nov 10 2013 09:49:07 for Groonga 3.0.9 Source Code Document by
1.8.1.2