Tor 0.4.9.8
Loading...
Searching...
No Matches
memarea.h File Reference

Header for memarea.c. More...

#include <stddef.h>

Go to the source code of this file.

Macros

#define memarea_drop_all(area)
 

Functions

memarea_tmemarea_new (void)
 
void memarea_drop_all_ (memarea_t *area)
 
void memarea_clear (memarea_t *area)
 
int memarea_owns_ptr (const memarea_t *area, const void *ptr)
 
void * memarea_alloc (memarea_t *area, size_t sz)
 
void * memarea_alloc_zero (memarea_t *area, size_t sz)
 
void * memarea_memdup (memarea_t *area, const void *s, size_t n)
 
char * memarea_strdup (memarea_t *area, const char *s)
 
char * memarea_strndup (memarea_t *area, const char *s, size_t n)
 
void memarea_get_stats (memarea_t *area, size_t *allocated_out, size_t *used_out)
 
void memarea_assert_ok (memarea_t *area)
 

Detailed Description

Header for memarea.c.

Definition in file memarea.h.

Macro Definition Documentation

◆ memarea_drop_all

Function Documentation

◆ memarea_alloc()

void * memarea_alloc ( memarea_t * area,
size_t sz )

Return a pointer to a chunk of memory in area of at least sz bytes. sz should be significantly smaller than the area's chunk size, though we can deal if it isn't.

Definition at line 209 of file memarea.c.

Referenced by cdline_linecpy(), consensus_split_lines(), memarea_alloc_zero(), memarea_memdup(), memarea_strndup(), and storage_dir_save_labeled_to_file().

◆ memarea_alloc_zero()

void * memarea_alloc_zero ( memarea_t * area,
size_t sz )

As memarea_alloc(), but clears the memory it returns.

Definition at line 248 of file memarea.c.

◆ memarea_assert_ok()

void memarea_assert_ok ( memarea_t * area)

Assert that area is okay.

Definition at line 305 of file memarea.c.

◆ memarea_clear()

void memarea_clear ( memarea_t * area)

Forget about having allocated anything in area, and free some of the backing storage associated with it, as appropriate. Invalidates all pointers returned from memarea_alloc() for this area.

Definition at line 178 of file memarea.c.

Referenced by microdesc_parse_fields().

◆ memarea_drop_all_()

void memarea_drop_all_ ( memarea_t * area)

Free area, invalidating all pointers returned from memarea_alloc() and friends for this area

Definition at line 163 of file memarea.c.

◆ memarea_get_stats()

void memarea_get_stats ( memarea_t * area,
size_t * allocated_out,
size_t * used_out )

Set allocated_out to the number of bytes allocated in area, and used_out to the number of bytes currently used.

Definition at line 289 of file memarea.c.

◆ memarea_memdup()

void * memarea_memdup ( memarea_t * area,
const void * s,
size_t n )

As memdup, but returns the memory from area.

Definition at line 257 of file memarea.c.

Referenced by cdline_linecpy(), get_token_arguments(), and memarea_strdup().

◆ memarea_new()

◆ memarea_owns_ptr()

int memarea_owns_ptr ( const memarea_t * area,
const void * p )

Return true iff p is in a range that has been returned by an allocation from area.

Definition at line 194 of file memarea.c.

◆ memarea_strdup()

char * memarea_strdup ( memarea_t * area,
const char * s )

As strdup, but returns the memory from area.

Definition at line 266 of file memarea.c.

◆ memarea_strndup()

char * memarea_strndup ( memarea_t * area,
const char * s,
size_t n )

As strndup, but returns the memory from area.

Definition at line 273 of file memarea.c.

Referenced by get_token_arguments().