root/libutil/pool.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 /*
   2  * Copyright (c) 2006 Tama Communications Corporation
   3  *
   4  * This file is part of GNU GLOBAL.
   5  *
   6  * This program is free software: you can redistribute it and/or modify
   7  * it under the terms of the GNU General Public License as published by
   8  * the Free Software Foundation, either version 3 of the License, or
   9  * (at your option) any later version.
  10  * 
  11  * This program is distributed in the hope that it will be useful,
  12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14  * GNU General Public License for more details.
  15  * 
  16  * You should have received a copy of the GNU General Public License
  17  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  18  */
  19 #ifndef _POOL_H
  20 #define _POOL_H
  21 
  22 #include "obstack.h"
  23 
  24 typedef struct {
  25         struct obstack obstack;         /**< memory pool */
  26         char *first_object;             /**< first object       (for reset) */
  27 } POOL;
  28 
  29 POOL *pool_open(void);
  30 void *pool_malloc(POOL *, int);
  31 char *pool_strdup(POOL *, const char *, int);
  32 char *pool_strdup_withterm(POOL *, const char *, int);
  33 void pool_reset(POOL *);
  34 void pool_close(POOL *);
  35 
  36 #endif /* ! _POOL_H */

/* [previous][next][first][last][top][bottom][index][help] */