exif-mem.h File Reference

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

`#include <libexif/exif-utils.h>`

Go to the source code of this file.

## Typedefs

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

## Functions

ExifMem * | exif_mem_new (ExifMemAllocFunc a, ExifMemReallocFunc r, ExifMemFreeFunc f)
| Create a new ExifMem.
void | exif_mem_ref (ExifMem *)
| Refcount an ExifMem.
void | exif_mem_unref (ExifMem *)
| Unrefcount an ExifMem.
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)
ExifMem * | exif_mem_new_default (void)
| Create a new ExifMem with default values for your convenience.

## Detailed Description

Define the ExifMem data type and the associated functions.

ExifMem defines the memory management functions used within libexif.

## Typedef Documentation

## ExifMemAllocFunc

typedef void *(* ExifMemAllocFunc) (ExifLong s)

Should work like calloc().

Parameters

  [in] | s | the size of the block to allocate.

Returns
  the allocated memory and initialized.

## ExifMemFreeFunc

typedef void(* ExifMemFreeFunc) (void *p)

Free method for ExifMem.

Parameters

  [in] | p | the pointer to free

Returns
  the freed pointer

## ExifMemReallocFunc

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

Should work like realloc().

Parameters

  [in] | p | the pointer to reallocate
  [in] | s | the size of the reallocated block

Returns
  allocated memory

## Function Documentation

## exif_mem_new()

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

Create a new ExifMem.

Parameters

  [in] | a | the allocator function
  [in] | r | the reallocator function
  [in] | f | the free function

Returns
  allocated ExifMem, or NULL on error

## 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

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

## exif_mem_unref()

void exif_mem_unref | ( | ExifMem * | mem | ) |

Unrefcount an ExifMem.

If the refcount reaches 0, the ExifMem is freed