0
|
1
|
|
2 /*
|
|
3 * Copyright (C) Igor Sysoev
|
|
4 */
|
|
5
|
|
6
|
|
7 #ifndef _NGX_ALLOC_H_INCLUDED_
|
|
8 #define _NGX_ALLOC_H_INCLUDED_
|
|
9
|
|
10
|
|
11 #include <ngx_config.h>
|
|
12 #include <ngx_core.h>
|
|
13
|
|
14
|
|
15 void *ngx_alloc(size_t size, ngx_log_t *log);
|
|
16 void *ngx_calloc(size_t size, ngx_log_t *log);
|
|
17
|
|
18 #define ngx_free free
|
|
19
|
|
20
|
|
21 /*
|
|
22 * Linux has memalign() or posix_memalign()
|
|
23 * Solaris has memalign()
|
390
|
24 * FreeBSD 7.0 has posix_memalign(), besides, early version's malloc()
|
|
25 * aligns allocations bigger than page size at the page boundary
|
0
|
26 */
|
|
27
|
18
|
28 #if (NGX_HAVE_POSIX_MEMALIGN || NGX_HAVE_MEMALIGN)
|
0
|
29
|
|
30 void *ngx_memalign(size_t alignment, size_t size, ngx_log_t *log);
|
|
31
|
|
32 #else
|
|
33
|
|
34 #define ngx_memalign(alignment, size, log) ngx_alloc(size, log)
|
|
35
|
|
36 #endif
|
|
37
|
|
38
|
258
|
39 extern ngx_uint_t ngx_pagesize;
|
|
40 extern ngx_uint_t ngx_pagesize_shift;
|
138
|
41 extern ngx_uint_t ngx_cacheline_size;
|
0
|
42
|
|
43
|
|
44 #endif /* _NGX_ALLOC_H_INCLUDED_ */
|