(linenum→info "unix/slp.c:2238")

glibc/2.7/malloc/mcheck.h

    1: /* Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
    2:    This file is part of the GNU C Library.
    3: 
    4:    The GNU C Library is free software; you can redistribute it and/or
    5:    modify it under the terms of the GNU Lesser General Public
    6:    License as published by the Free Software Foundation; either
    7:    version 2.1 of the License, or (at your option) any later version.
    8: 
    9:    The GNU C Library is distributed in the hope that it will be useful,
   10:    but WITHOUT ANY WARRANTY; without even the implied warranty of
   11:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   12:    Lesser General Public License for more details.
   13: 
   14:    You should have received a copy of the GNU Lesser General Public
   15:    License along with the GNU C Library; if not, write to the Free
   16:    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
   17:    02111-1307 USA.  */
   18: 
   19: #ifndef _MCHECK_H
   20: #define _MCHECK_H       1
   21: 
   22: #include <features.h>
   23: 
   24: __BEGIN_DECLS
   25: 
   26: /* Return values for `mprobe': these are the kinds of inconsistencies that
   27:    `mcheck' enables detection of.  */
   28: enum mcheck_status
   29:   {
   30:     MCHECK_DISABLED = -1,       /* Consistency checking is not turned on.  */
   31:     MCHECK_OK,                  /* Block is fine.  */
   32:     MCHECK_FREE,                /* Block freed twice.  */
   33:     MCHECK_HEAD,                /* Memory before the block was clobbered.  */
   34:     MCHECK_TAIL                 /* Memory after the block was clobbered.  */
   35:   };
   36: 
   37: 
   38: /* Activate a standard collection of debugging hooks.  This must be called
   39:    before `malloc' is ever called.  ABORTFUNC is called with an error code
   40:    (see enum above) when an inconsistency is detected.  If ABORTFUNC is
   41:    null, the standard function prints on stderr and then calls `abort'.  */
   42: extern int mcheck (void (*__abortfunc) (enum mcheck_status)) __THROW;
   43: 
   44: /* Similar to `mcheck? but performs checks for all block whenever one of
   45:    the memory handling functions is called.  This can be very slow.  */
   46: extern int mcheck_pedantic (void (*__abortfunc) (enum mcheck_status)) __THROW;
   47: 
   48: /* Force check of all blocks now.  */
   49: extern void mcheck_check_all (void);
   50: 
   51: /* Check for aberrations in a particular malloc'd block.  You must have
   52:    called `mcheck' already.  These are the same checks that `mcheck' does
   53:    when you free or reallocate a block.  */
   54: extern enum mcheck_status mprobe (void *__ptr) __THROW;
   55: 
   56: /* Activate a standard collection of tracing hooks.  */
   57: extern void mtrace (void) __THROW;
   58: extern void muntrace (void) __THROW;
   59: 
   60: __END_DECLS
   61: 
   62: #endif /* mcheck.h */
Syntax (Markdown)