prepare for our emergency openssl fix release
[tor.git] / src / common / memarea.h
blob95d855f6d9e8f12eed68b34b6c6d7e4df6d79f36
1 /* Copyright (c) 2008-2010, The Tor Project, Inc. */
2 /* See LICENSE for licensing information */
3 /* Tor dependencies */
5 #ifndef _TOR_MEMAREA_H
6 #define _TOR_MEMAREA_H
8 typedef struct memarea_t memarea_t;
10 memarea_t *memarea_new(void);
11 void memarea_drop_all(memarea_t *area);
12 void memarea_clear(memarea_t *area);
13 int memarea_owns_ptr(const memarea_t *area, const void *ptr);
14 void *memarea_alloc(memarea_t *area, size_t sz);
15 void *memarea_alloc_zero(memarea_t *area, size_t sz);
16 void *memarea_memdup(memarea_t *area, const void *s, size_t n);
17 char *memarea_strdup(memarea_t *area, const char *s);
18 char *memarea_strndup(memarea_t *area, const char *s, size_t n);
19 void memarea_get_stats(memarea_t *area,
20 size_t *allocated_out, size_t *used_out);
21 void memarea_clear_freelist(void);
22 void memarea_assert_ok(memarea_t *area);
24 #endif