| /* | |
| * Copyright (C) Igor Sysoev | |
| */ | |
| #ifndef _NGX_ALLOC_H_INCLUDED_ | |
| #define _NGX_ALLOC_H_INCLUDED_ | |
| #include <ngx_config.h> | |
| #include <ngx_core.h> | |
| void *ngx_alloc(size_t size, ngx_log_t *log); | |
| void *ngx_calloc(size_t size, ngx_log_t *log); | |
| #define ngx_free free | |
| /* | |
| * Linux has memalign() or posix_memalign() | |
| * Solaris has memalign() | |
| * FreeBSD 7.0 has posix_memalign(), besides, early version's malloc() | |
| * aligns allocations bigger than page size at the page boundary | |
| */ | |
| #if (NGX_HAVE_POSIX_MEMALIGN || NGX_HAVE_MEMALIGN) | |
| void *ngx_memalign(size_t alignment, size_t size, ngx_log_t *log); | |
| #else | |
| #define ngx_memalign(alignment, size, log) ngx_alloc(size, log) | |
| #endif | |
| extern ngx_uint_t ngx_pagesize; | |
| extern ngx_uint_t ngx_pagesize_shift; | |
| extern ngx_uint_t ngx_cacheline_size; | |
| #endif /* _NGX_ALLOC_H_INCLUDED_ */ |