Back to index

tor  0.2.3.19-rc
memarea.h
Go to the documentation of this file.
00001 /* Copyright (c) 2008-2012, The Tor Project, Inc. */
00002 /* See LICENSE for licensing information */
00003 /* Tor dependencies */
00004 
00005 #ifndef _TOR_MEMAREA_H
00006 #define _TOR_MEMAREA_H
00007 
00008 typedef struct memarea_t memarea_t;
00009 
00010 memarea_t *memarea_new(void);
00011 void memarea_drop_all(memarea_t *area);
00012 void memarea_clear(memarea_t *area);
00013 int memarea_owns_ptr(const memarea_t *area, const void *ptr);
00014 void *memarea_alloc(memarea_t *area, size_t sz);
00015 void *memarea_alloc_zero(memarea_t *area, size_t sz);
00016 void *memarea_memdup(memarea_t *area, const void *s, size_t n);
00017 char *memarea_strdup(memarea_t *area, const char *s);
00018 char *memarea_strndup(memarea_t *area, const char *s, size_t n);
00019 void memarea_get_stats(memarea_t *area,
00020                        size_t *allocated_out, size_t *used_out);
00021 void memarea_clear_freelist(void);
00022 void memarea_assert_ok(memarea_t *area);
00023 
00024 #endif
00025