EXIF library (libexif) Internals  0.6.24
exif-mem.h File Reference

Define the ExifMem data type and the associated functions. More...

Include dependency graph for exif-mem.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef void *(* ExifMemAllocFunc) (ExifLong s)
 Should work like calloc() More...
 
typedef void *(* ExifMemReallocFunc) (void *p, ExifLong s)
 Should work like realloc() More...
 
typedef void(* ExifMemFreeFunc) (void *p)
 Free method for ExifMem. More...
 
typedef struct _ExifMem ExifMem
 ExifMem define a memory allocator. More...
 

Functions

ExifMemexif_mem_new (ExifMemAllocFunc a, ExifMemReallocFunc r, ExifMemFreeFunc f)
 Create a new ExifMem. More...
 
void exif_mem_ref (ExifMem *)
 Refcount an ExifMem. More...
 
void exif_mem_unref (ExifMem *)
 Unrefcount an ExifMem. More...
 
void * exif_mem_alloc (ExifMem *m, ExifLong s)
 
void * exif_mem_realloc (ExifMem *m, void *p, ExifLong s)
 
void exif_mem_free (ExifMem *m, void *p)
 
ExifMemexif_mem_new_default (void)
 Create a new ExifMem with default values for your convenience. More...
 

Detailed Description

Define the ExifMem data type and the associated functions.

ExifMem defines the memory management functions used within libexif.

Definition in file exif-mem.h.

Typedef Documentation

◆ ExifMem

typedef struct _ExifMem ExifMem

ExifMem define a memory allocator.

Definition at line 54 of file exif-mem.h.

◆ ExifMemAllocFunc

typedef void*(* ExifMemAllocFunc) (ExifLong s)

Should work like calloc()

Parameters
[in]sthe size of the block to allocate.
Returns
the allocated memory and initialized.

Definition at line 39 of file exif-mem.h.

◆ ExifMemFreeFunc

typedef void(* ExifMemFreeFunc) (void *p)

Free method for ExifMem.

Parameters
[in]pthe pointer to free
Returns
the freed pointer

Definition at line 54 of file exif-mem.h.

◆ ExifMemReallocFunc

typedef void*(* ExifMemReallocFunc) (void *p, ExifLong s)

Should work like realloc()

Parameters
[in]pthe pointer to reallocate
[in]sthe size of the reallocated block
Returns
allocated memory

Definition at line 47 of file exif-mem.h.

Function Documentation

◆ exif_mem_alloc()

◆ exif_mem_free()

◆ exif_mem_new()

ExifMem* exif_mem_new ( ExifMemAllocFunc  a,
ExifMemReallocFunc  r,
ExifMemFreeFunc  f 
)

Create a new ExifMem.

Parameters
[in]athe allocator function
[in]rthe reallocator function
[in]fthe free function
Returns
allocated ExifMem, or NULL on error

Definition at line 34 of file exif-mem.c.

References _ExifMem::alloc_func, _ExifMem::free_func, _ExifMem::realloc_func, and _ExifMem::ref_count.

Referenced by exif_mem_new_default().

◆ exif_mem_new_default()

ExifMem* exif_mem_new_default ( void  )

Create a new ExifMem with default values for your convenience.

Returns
return a new default ExifMem

Definition at line 95 of file exif-mem.c.

References exif_mem_alloc_func(), exif_mem_free_func(), exif_mem_new(), and exif_mem_realloc_func().

Referenced by exif_content_new(), exif_data_new(), exif_entry_new(), exif_loader_new(), exif_log_new(), and main().

Here is the call graph for this function:

◆ exif_mem_realloc()

◆ exif_mem_ref()

void exif_mem_ref ( ExifMem mem)

◆ exif_mem_unref()

void exif_mem_unref ( ExifMem mem)

Unrefcount an ExifMem.

If the refcount reaches 0, the ExifMem is freed

Definition at line 61 of file exif-mem.c.

References exif_mem_free(), and _ExifMem::ref_count.

Referenced by exif_content_free(), exif_content_new(), exif_data_free(), exif_data_new(), exif_entry_free(), exif_entry_new(), exif_loader_free(), exif_loader_new(), exif_log_free(), exif_log_new(), exif_mnote_data_free(), and main().

Here is the call graph for this function:

libexif Generated by doxygen