umem  1.0.1
Classes | Macros | Typedefs | Functions | Variables
vmem_sbrk.c File Reference
#include "config.h"
#include <errno.h>
#include <limits.h>
#include <sys/sysmacros.h>
#include <sys/mman.h>
#include <unistd.h>
#include "vmem_base.h"
#include "misc.h"

Classes

struct  sbrk_fail
 

Macros

#define MIN_ALLOC   (64*1024)
 
#define ALIGNSZ   16
 
#define BRKALIGN(x)   (caddr_t)P2ROUNDUP((uintptr_t)(x), ALIGNSZ)
 

Typedefs

typedef struct sbrk_fail sbrk_fail_t
 

Functions

void * _sbrk_grow_aligned (size_t min_size, size_t low_align, size_t high_align, size_t *actual_size)
 
void vmem_sbrk_lockup (void)
 
void vmem_sbrk_release (void)
 
vmem_tvmem_sbrk_arena (vmem_alloc_t **a_out, vmem_free_t **f_out)
 

Variables

size_t vmem_sbrk_pagesize = 0
 

Macro Definition Documentation

◆ ALIGNSZ

#define ALIGNSZ   16

Referenced by _sbrk_grow_aligned().

◆ BRKALIGN

#define BRKALIGN (   x)    (caddr_t)P2ROUNDUP((uintptr_t)(x), ALIGNSZ)

Referenced by _sbrk_grow_aligned().

◆ MIN_ALLOC

#define MIN_ALLOC   (64*1024)

Typedef Documentation

◆ sbrk_fail_t

typedef struct sbrk_fail sbrk_fail_t

Function Documentation

◆ _sbrk_grow_aligned()

void* _sbrk_grow_aligned ( size_t  min_size,
size_t  low_align,
size_t  high_align,
size_t *  actual_size 
)

References ALIGNSZ, BRKALIGN, MAX, and P2ROUNDUP.

◆ vmem_sbrk_arena()

vmem_t* vmem_sbrk_arena ( vmem_alloc_t **  a_out,
vmem_free_t **  f_out 
)

Referenced by vmem_heap_init().

◆ vmem_sbrk_lockup()

void vmem_sbrk_lockup ( void  )

References mutex_lock.

◆ vmem_sbrk_release()

void vmem_sbrk_release ( void  )

References mutex_unlock.

Variable Documentation

◆ vmem_sbrk_pagesize

size_t vmem_sbrk_pagesize = 0