mem: initial doxygen documentation for MM, small whitespace changes
authorHenning Westerholt <henning.westerholt@1und1.de>
Wed, 13 Jul 2011 22:11:48 +0000 (00:11 +0200)
committerHenning Westerholt <henning.westerholt@1und1.de>
Wed, 13 Jul 2011 22:11:48 +0000 (00:11 +0200)
mem/f_malloc.c
mem/f_malloc.h
mem/mem.c
mem/mem.h
mem/memdbg.h
mem/meminfo.h
mem/q_malloc.c
mem/q_malloc.h
mem/shm_mem.c
mem/shm_mem.h
mem/src_loc.h

index 48cd8b1..3b4cc9f 100644 (file)
@@ -1,6 +1,4 @@
-/* $Id$
- *
- *
+/*
  * Copyright (C) 2001-2003 FhG Fokus
  *
  * This file is part of sip-router, a free SIP server.
@@ -17,6 +15,7 @@
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
+
 /*
  * History:
  * --------
  *               (only the first bucket was tried) (andrei)
  */
 
+/**
+ * \file
+ * \brief Simple, very fast, malloc library
+ * \ingroup mem
+ */
+
 
 #if !defined(q_malloc)  && (defined F_MALLOC)
 
index b3fe228..bd36d49 100644 (file)
@@ -1,7 +1,4 @@
-/* $Id$
- *
- * simple, very fast, malloc library
- *
+/*
  * Copyright (C) 2001-2003 FhG Fokus
  *
  * This file is part of sip-router, a free SIP server.
@@ -18,6 +15,7 @@
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
+
 /*
  * History:
  * --------
  *  2007-06-23  added hash bitmap (andrei)
  */
 
+/**
+ * \file
+ * \brief Simple, very fast, malloc library
+ * \ingroup mem
+ */
+
 
 #if !defined(f_malloc_h)
 #define f_malloc_h
@@ -104,6 +108,10 @@ struct fm_frag_lnk{
        unsigned long no;
 };
 
+/**
+ * \brief Block of memory for F_MALLOC memory manager
+ * \see mem_info
+ */
 struct fm_block{
        unsigned long size; /* total size */
 #if defined(DBG_F_MALLOC) || defined(MALLOC_STATS)
index 1180a2a..1c70471 100644 (file)
--- a/mem/mem.c
+++ b/mem/mem.c
@@ -1,6 +1,4 @@
 /*
- * $Id$
- *
  * Copyright (C) 2001-2003 FhG Fokus
  *
  * This file is part of sip-router, a free SIP server.
  * 
  */
 
+/**
+ * \file
+ * \brief Main definitions for memory manager
+ * 
+ * Main definitions for memory manager, like malloc, free and realloc
+ * \ingroup mem
+ */
+
 
 #include <stdio.h>
 #include <stdlib.h>
 #endif
 
 
+/**
+ * \brief Initialize private memory pool
+ * \return 0 if the memory allocation was successful, -1 otherwise
+ */
 int init_pkg_mallocs()
 {
 #ifdef PKG_MALLOC
@@ -87,6 +97,9 @@ int init_pkg_mallocs()
 
 
 
+/**
+ * \brief Destroy private memory pool
+ */
 void destroy_pkg_mallocs()
 {
 #ifdef PKG_MALLOC
@@ -100,7 +113,11 @@ void destroy_pkg_mallocs()
 }
 
 
-
+/**
+ * \brief Initialize shared memory pool
+ * \param force_alloc Force allocation of memory, e.g. initialize complete block with zero
+ * \return 0 if the memory allocation was successful, -1 otherwise
+ */
 int init_shm_mallocs(int force_alloc)
 {
 #ifdef SHM_MEM
@@ -113,5 +130,3 @@ int init_shm_mallocs(int force_alloc)
 #endif
        return 0;
 }
-
-
index 510698a..239ec63 100644 (file)
--- a/mem/mem.h
+++ b/mem/mem.h
@@ -1,8 +1,4 @@
-/* $Id$
- *
- * memory related stuff (malloc & friends)
- * 
- *
+/*
  * Copyright (C) 2001-2003 FhG Fokus
  *
  * This file is part of sip-router, a free SIP server.
@@ -19,6 +15,7 @@
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
+
 /*
  * History:
  * --------
  *  2007-02-23   added pkg_info() and pkg_available() (andrei)
  */
 
+/**
+ * \defgroup mem SIP-router memory manager
+ * \brief  SIP-router internal memory manager
+ * 
+ * SIP-router internal memory manager for private (per process) and shared
+ * memory pools. It provides several different strategies for the memory
+ * management, like really fast, with extended debugging and also plain system
+ * memory management.
+ */
+
+/**
+ * \file
+ * \brief Main definitions for memory manager
+ * 
+ * \brief Main definitions for memory manager, like malloc, free and realloc
+ * \ingroup mem
+ */
 
 
 #ifndef mem_h
 #      define pkg_sums()
 #endif
 
+/**
+ * \brief Initialize private memory pool
+ * \return 0 if the memory allocation was successful, -1 otherwise
+ */
 int init_pkg_mallocs();
+
+/**
+ * \brief Destroy private memory pool
+ */
 void destroy_pkg_mallocs();
+
+/**
+ * \brief Initialize shared memory pool
+ * \param force_alloc Force allocation of memory, e.g. initialize complete block with zero
+ * \return 0 if the memory allocation was successful, -1 otherwise
+ */
 int init_shm_mallocs(int force_alloc);
 
-/*! generic logging helper for allocation errors in private memory pool/ system */
+/** generic logging helper for allocation errors in private memory pool/ system */
 #ifdef SYSTEM_MALLOC
 #define PKG_MEM_ERROR LM_ERR("could not allocate private memory from system")
 #else
 #define PKG_MEM_ERROR LM_ERR("could not allocate private memory from available pool")
 #endif
-/*! generic logging helper for allocation errors in shared memory pool */
+/** generic logging helper for allocation errors in shared memory pool */
 #define SHM_MEM_ERROR LM_ERR("could not allocate shared memory from available pool")
 
 #endif
index ec7f285..b59f281 100644 (file)
@@ -1,6 +1,4 @@
 /*
- * $Id$
- *
  * Copyright (C) 2006 iptelorg GmbH
  *
  * Permission to use, copy, modify, and distribute this software for any
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
-/* malloc debug messages
+
+/*
  * History:
  * --------
  *  2006-04-07             created by andrei
  */
 
+/**
+ * \file
+ * \brief Malloc debug messages
+ * \ingroup mem
+ */
+
 
 #ifndef _memdbg_h
 #define _memdbg_h
index 1476eed..b7a0749 100644 (file)
@@ -1,7 +1,4 @@
-/* $Id$*
- *
- * mem (malloc) info 
- *
+/*
  * Copyright (C) 2001-2003 FhG Fokus
  *
  * This file is part of sip-router, a free SIP server.
@@ -18,6 +15,7 @@
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
+
 /*
  * History:
  * --------
  *  2005-07-25  renamed meminfo to mem_info due to name conflict on solaris
  */
 
+/**
+ * \file
+ * \brief Memory manager (malloc) informations and statistics
+ * 
+ * Memory manager (malloc) informations and statistics, like the used memory,
+ * fragmentations etc..
+ * \ingroup mem
+ */
+
 #ifndef meminfo_h
 #define meminfo_h
 
+
+/** Memory information structure */
 struct mem_info{
-       unsigned long total_size;
-       unsigned long free;
-       unsigned long used;
-       unsigned long real_used; /*used + overhead*/
-       unsigned long max_used;
-       unsigned long min_frag;
-       unsigned long total_frags; /* total fragment no */
+       unsigned long total_size; /** total size of memory pool */
+       unsigned long free; /** free memory */
+       unsigned long used; /** allocated size */
+       unsigned long real_used; /** used size plus overhead from malloc */
+       unsigned long max_used; /** maximum used size since server start? */
+       unsigned long min_frag; /** minimum number of fragmentations? */
+       unsigned long total_frags; /** number of total memory fragments */
 };
 
 #endif
index 7344f66..88a287c 100644 (file)
@@ -1,6 +1,4 @@
-/* $Id$
- *
- *
+/*
  * Copyright (C) 2001-2003 FhG Fokus
  *
  * This file is part of sip-router, a free SIP server.
@@ -17,6 +15,7 @@
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
+
 /*
  * History:
  * --------
  *  2009-09-28  added fm_sums() (patch from Dragos Vingarzan)
  */
 
+/**
+ * \file
+ * \brief Simple & fast malloc library
+ * \ingroup mem
+ */
+
 
 #if !defined(q_malloc) && !(defined F_MALLOC)
 #define q_malloc
index 4b50c7f..ba09c49 100644 (file)
@@ -1,7 +1,4 @@
-/* $Id$
- *
- * simple & fast malloc library
- *
+/*
  * Copyright (C) 2001-2003 FhG Fokus
  *
  * This file is part of sip-router, a free SIP server.
@@ -18,6 +15,7 @@
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
+
 /*
  * History:
  * --------
  *  2004-11-10  support for > 4Gb mem. (switched to long) (andrei)
  */
 
+/**
+ * \file
+ * \brief Simple & fast malloc library
+ * \ingroup mem
+ */
 
 #if !defined(q_malloc_h) && !defined(F_MALLOC)
 #define q_malloc_h
@@ -103,6 +106,11 @@ struct qm_frag_lnk{
 };
 
 
+/**
+ * \brief Block of memory for Q_MALLOC memory manager
+ * \see mem_info
+ */
+
 struct qm_block{
        unsigned long size; /* total size */
        unsigned long used; /* alloc'ed size*/
index d177c07..454575f 100644 (file)
@@ -1,6 +1,5 @@
-/* $Id$
- *
- * Shared memory functions
+/*
+
  *
  * Copyright (C) 2001-2003 FhG Fokus
  *
@@ -18,6 +17,7 @@
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
+
 /*
  * History:
  * --------
  *  2007-06-10   support for sfm_malloc & shm_malloc_destroy() (andrei)
  */
 
+/**
+ * \file
+ * \brief  Shared memory functions
+ * \ingroup mem
+ */
+
 
 #ifdef SHM_MEM
 
index 2dce31a..8c60b40 100644 (file)
@@ -1,5 +1,4 @@
-/* $Id$*
- *
+/*
  * shared mem stuff
  *
  * Copyright (C) 2001-2003 FhG Fokus
@@ -18,6 +17,7 @@
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
+
 /*
  * History:
  * --------
  *  2007-06-10   support for sf_malloc (andrei)
  */
 
+/**
+ * \file
+ * \brief  Shared memory functions
+ * \ingroup mem
+ */
+
 
 #ifdef SHM_MEM
 
index 3877d17..5de5ef5 100644 (file)
@@ -1,6 +1,4 @@
 /* 
- * $Id$
- * 
  * Copyright (C) 2009 iptelorg GmbH
  *
  * Permission to use, copy, modify, and distribute this software for any
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
-/*
- * mem/src_loc.h - defines for src location ( function name, module a.s.o.),
- *  used for recording a *malloc()/ *free() caller.
- *
- * Expects MOD_NAME defined for modules (if it's not defined "core" will be
- * assumed).
- * Defines:
- *  _SRC_FUNCTION_  - current function name
- *  _SRC_FILENAME_  - current .c filename
- *  _SRC_LINE_      - current line
- *  _SRC_MODULE_    - module name, lib name or "<core>" (depends on MOD_NAME
- *                    being properly set)
- *  _SRC_LOC_       - module name + file name
- *
- */
+
 /*
  * History:
  * --------
  *  2009-10-08  initial version (andrei)
 */
 
+/**
+ * \file
+ * \brief Helper definitions for internal memory manager
+ * 
+ * Helper definitions for internal memory manager, defines for src location
+ * (function name, module a.s.o.), used for recording a *malloc()/ *free()
+ * caller. Expects MOD_NAME defined for modules (if it's not defined "core"
+ * will be assumed).
+ * 
+ * Defines:
+ * - _SRC_FUNCTION_  - current function name
+ * - _SRC_FILENAME_  - current .c filename
+ * - _SRC_LINE_      - current line
+ * - _SRC_MODULE_    - module name, lib name or "<core>" (depends on MOD_NAME
+ * being properly set)
+ * - _SRC_LOC_       - module name + file name
+ * \ingroup mem
+ */
+
+
 #ifndef __src_loc_h
 #define __src_loc_h