00001 00014 /* This library is free software; you can redistribute it and/or 00015 modify it under the terms of the GNU Lesser General Public 00016 License as published by the Free Software Foundation; either 00017 version 2.1 of the License, or (at your option) any later version. 00018 00019 This library is distributed in the hope that it will be useful, 00020 but WITHOUT ANY WARRANTY; without even the implied warranty of 00021 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00022 Lesser General Public License for more details. 00023 00024 You should have received a copy of the GNU Lesser General Public 00025 License along with this library; if not, write to the Free Software 00026 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00027 */ 00028 00029 #ifndef _GAN_ALLOCATE_H 00030 #define _GAN_ALLOCATE_H 00031 00032 #include <stdlib.h> 00033 #include <gandalf/common/misc_defs.h> 00034 00035 #ifdef __cplusplus 00036 extern "C" { 00037 #endif 00038 00052 typedef void (*Gan_FreeFunc) (void *); 00053 00054 #define obj_type int x 00055 00065 void *gan_malloc_object ( TYPE obj_type ); 00066 00078 void *gan_malloc_array ( TYPE obj_type, unsigned size ); 00079 00093 void *gan_realloc_array ( TYPE obj_type, void *ptr, unsigned size ); 00094 00095 #undef obj_type 00096 00097 void gan_free_va ( void *ptr, ... ); 00098 00107 #ifdef __cplusplus 00108 } 00109 #endif 00110 00111 #endif /* #ifndef _GAN_ALLOCATE_H */
1.3-rc1