xref: /unit/src/nxt_mem_zone.h (revision 2084:7d479274f334)
10Sigor@sysoev.ru 
20Sigor@sysoev.ru /*
30Sigor@sysoev.ru  * Copyright (C) Igor Sysoev
40Sigor@sysoev.ru  * Copyright (C) NGINX, Inc.
50Sigor@sysoev.ru  */
60Sigor@sysoev.ru 
70Sigor@sysoev.ru #ifndef _NXT_MEM_ZONE_H_INCLUDED_
80Sigor@sysoev.ru #define _NXT_MEM_ZONE_H_INCLUDED_
90Sigor@sysoev.ru 
100Sigor@sysoev.ru 
110Sigor@sysoev.ru typedef struct nxt_mem_zone_s  nxt_mem_zone_t;
120Sigor@sysoev.ru 
130Sigor@sysoev.ru 
140Sigor@sysoev.ru NXT_EXPORT nxt_mem_zone_t *nxt_mem_zone_init(u_char *start, size_t zone_size,
150Sigor@sysoev.ru     nxt_uint_t page_size);
160Sigor@sysoev.ru 
17*2084Salx.manpages@gmail.com #define nxt_mem_zone_alloc(zone, size)                                        \
180Sigor@sysoev.ru     nxt_mem_zone_align((zone), 1, (size))
190Sigor@sysoev.ru 
200Sigor@sysoev.ru NXT_EXPORT void *nxt_mem_zone_align(nxt_mem_zone_t *zone, size_t alignment,
210Sigor@sysoev.ru     size_t size)
220Sigor@sysoev.ru     NXT_MALLOC_LIKE;
230Sigor@sysoev.ru NXT_EXPORT void *nxt_mem_zone_zalloc(nxt_mem_zone_t *zone, size_t size)
240Sigor@sysoev.ru     NXT_MALLOC_LIKE;
250Sigor@sysoev.ru NXT_EXPORT void nxt_mem_zone_free(nxt_mem_zone_t *zone, void *p);
260Sigor@sysoev.ru 
270Sigor@sysoev.ru 
280Sigor@sysoev.ru #endif /* _NXT_MEM_ZONE_H_INCLUDED_ */
29