30 lines
809 B
C
30 lines
809 B
C
|
|
/*
|
|
* Copyright (C) Igor Sysoev
|
|
* Copyright (C) NGINX, Inc.
|
|
*/
|
|
|
|
#ifndef _NXT_MEM_ZONE_H_INCLUDED_
|
|
#define _NXT_MEM_ZONE_H_INCLUDED_
|
|
|
|
|
|
typedef struct nxt_mem_zone_s nxt_mem_zone_t;
|
|
|
|
|
|
NXT_EXPORT nxt_mem_zone_t *nxt_mem_zone_init(u_char *start, size_t zone_size,
|
|
nxt_uint_t page_size);
|
|
|
|
#define \
|
|
nxt_mem_zone_alloc(zone, size) \
|
|
nxt_mem_zone_align((zone), 1, (size))
|
|
|
|
NXT_EXPORT void *nxt_mem_zone_align(nxt_mem_zone_t *zone, size_t alignment,
|
|
size_t size)
|
|
NXT_MALLOC_LIKE;
|
|
NXT_EXPORT void *nxt_mem_zone_zalloc(nxt_mem_zone_t *zone, size_t size)
|
|
NXT_MALLOC_LIKE;
|
|
NXT_EXPORT void nxt_mem_zone_free(nxt_mem_zone_t *zone, void *p);
|
|
|
|
|
|
#endif /* _NXT_MEM_ZONE_H_INCLUDED_ */
|