Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

alloc.h File Reference

Memory allocation functions. More...

Go to the source code of this file.

Enumerations

enum  errorcode { ERR_NONE = 0, ERR_NO_MEM }

Functions

void * _stp_alloc (size_t len)
 Allocates memory within a probe.
void * _stp_calloc (size_t len)
 Allocates and clears memory within a probe.
void * _stp_valloc (size_t len)
 Allocates and clears memory outside a probe.
void _stp_free (void *ptr)
 Frees memory allocated by _stp_alloc or _stp_calloc.
void _stp_vfree (void *ptr)
 Frees memory allocated by _stp_valloc.

Variables

enum errorcode _stp_error = ERR_NONE


Detailed Description

Memory allocation functions.

Todo:
Should really be alloc.c for consistency.

Definition in file alloc.h.


Function Documentation

void* _stp_alloc size_t  len  ) 
 

Allocates memory within a probe.

This is used for small allocations from within a running probe where the process cannot sleep.

Parameters:
len Number of bytes to allocate.
Returns:
a valid pointer on success or NULL on failure.
Bug:
Currently uses kmalloc (GFP_ATOMIC).

Definition at line 18 of file alloc.h.

Referenced by _stp_calloc(), and _stp_map_set_str().

void* _stp_calloc size_t  len  ) 
 

Allocates and clears memory within a probe.

This is used for small allocations from within a running probe where the process cannot sleep.

Parameters:
len Number of bytes to allocate.
Returns:
a valid pointer on success or NULL on failure.
Bug:
Currently uses kmalloc (GFP_ATOMIC).

Definition at line 34 of file alloc.h.

References _stp_alloc().

Referenced by _stp_map_set_stat(), and _stp_map_set_str().

void _stp_free void *  ptr  ) 
 

Frees memory allocated by _stp_alloc or _stp_calloc.

Parameters:
ptr pointer to memory to free

Definition at line 63 of file alloc.h.

Referenced by _stp_list_clear(), _stp_map_key_del(), and _stp_map_set_str().

void* _stp_valloc size_t  len  ) 
 

Allocates and clears memory outside a probe.

This is typically used in the module initialization to allocate new maps, lists, etc.

Parameters:
len Number of bytes to allocate.
Returns:
a valid pointer on success or NULL on failure.

Definition at line 49 of file alloc.h.

Referenced by _stp_map_new().

void _stp_vfree void *  ptr  ) 
 

Frees memory allocated by _stp_valloc.

Parameters:
ptr pointer to memory to free

Definition at line 73 of file alloc.h.

Referenced by _stp_map_del().