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