mirror of
https://github.com/nginx/nginx.git
synced 2024-12-15 13:28:59 +08:00
45 lines
843 B
C
45 lines
843 B
C
|
|
/*
|
|
* 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_ */
|