exif-mem.h

00001 /* exif-mem.h
00002  *
00003  * Copyright © 2003 Lutz Müller <lutz@users.sourceforge.net>
00004  *
00005  * This library is free software; you can redistribute it and/or
00006  * modify it under the terms of the GNU Lesser General Public
00007  * License as published by the Free Software Foundation; either
00008  * version 2 of the License, or (at your option) any later version.
00009  *
00010  * This library is distributed in the hope that it will be useful, 
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of 
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013  * Lesser General Public License for more details. 
00014  *
00015  * You should have received a copy of the GNU Lesser General Public
00016  * License along with this library; if not, write to the
00017  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00018  * Boston, MA 02111-1307, USA.
00019  */
00020 
00021 #ifndef __EXIF_MEM_H__
00022 #define __EXIF_MEM_H__
00023 
00024 #include <libexif/exif-utils.h>
00025 
00026 #ifdef __cplusplus
00027 extern "C" {
00028 #endif /* __cplusplus */
00029 
00030 /* Should work like calloc: Needs to return initialized memory. */
00031 typedef void * (* ExifMemAllocFunc)   (ExifLong);
00032 
00033 typedef void * (* ExifMemReallocFunc) (void *, ExifLong);
00034 typedef void   (* ExifMemFreeFunc)    (void *);
00035 
00036 typedef struct _ExifMem ExifMem;
00037 
00038 ExifMem *exif_mem_new   (ExifMemAllocFunc, ExifMemReallocFunc,
00039                          ExifMemFreeFunc);
00040 void     exif_mem_ref   (ExifMem *);
00041 void     exif_mem_unref (ExifMem *);
00042 
00043 void *exif_mem_alloc   (ExifMem *, ExifLong);
00044 void *exif_mem_realloc (ExifMem *, void *, ExifLong);
00045 void  exif_mem_free    (ExifMem *, void *);
00046 
00047 /* For your convenience */
00048 ExifMem *exif_mem_new_default (void);
00049 
00050 #ifdef __cplusplus
00051 }
00052 #endif /* __cplusplus */
00053 
00054 #endif /* __EXIF_MEM_H__ */

Generated on Tue Dec 19 14:34:17 2006 for EXIF library (libexif) API by  doxygen 1.5.1