2004-09-28 16:34:51 +08:00
|
|
|
|
|
|
|
/*
|
2004-09-30 00:00:49 +08:00
|
|
|
* Copyright (C) Igor Sysoev
|
2004-09-28 16:34:51 +08:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
2004-06-07 03:49:18 +08:00
|
|
|
#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 has not memalign() or posix_memalign() but its malloc() alignes
|
2004-09-28 16:34:51 +08:00
|
|
|
* allocations bigger than page size at the page boundary.
|
2004-06-07 03:49:18 +08:00
|
|
|
*/
|
|
|
|
|
2004-11-26 00:17:31 +08:00
|
|
|
#if (NGX_HAVE_POSIX_MEMALIGN || NGX_HAVE_MEMALIGN)
|
2004-06-07 03:49:18 +08:00
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
2006-11-20 16:51:45 +08:00
|
|
|
extern ngx_uint_t ngx_pagesize;
|
|
|
|
extern ngx_uint_t ngx_pagesize_shift;
|
2005-12-16 23:07:08 +08:00
|
|
|
extern ngx_uint_t ngx_cacheline_size;
|
2004-06-07 03:49:18 +08:00
|
|
|
|
|
|
|
|
|
|
|
#endif /* _NGX_ALLOC_H_INCLUDED_ */
|