physfs: PHYSFS_Allocator Struct Reference

physfs 3.2.0

Data Fields
PHYSFS_Allocator Struct Reference

PhysicsFS allocation function pointers. More...

`#include <physfs.h>`

## Data Fields
int(* | Init )(void)
void(* | Deinit )(void)
void *(* | Malloc )(PHYSFS_uint64)
void *(* | Realloc )(void *, PHYSFS_uint64)
void(* | Free )(void *)

## Detailed Description

PhysicsFS allocation function pointers.

(This is for limited, hardcore use. If you don't immediately see a need for it, you can probably ignore this forever.)

You create one of these structures for use with PHYSFS_setAllocator. Allocators are assumed to be reentrant by the caller; please mutex accordingly.

Allocations are always discussed in 64-bits, for future expansion...we're on the cusp of a 64-bit transition, and we'll probably be allocating 6 gigabytes like it's nothing sooner or later, and I don't want to change this again at that point. If you're on a 32-bit platform and have to downcast, it's okay to return NULL if the allocation is greater than 4 gigabytes, since you'd have to do so anyhow.

See also
  PHYSFS_setAllocator

## Field Documentation

## ◆ Deinit

void(* PHYSFS_Allocator::Deinit) (void)

Deinitialize your allocator. Can be NULL.

## ◆ Free

void(* PHYSFS_Allocator::Free) (void *)

Free memory from Malloc or Realloc.

## ◆ Init

int(* PHYSFS_Allocator::Init) (void)

Initialize. Can be NULL. Zero on failure.

## ◆ Malloc

void *(* PHYSFS_Allocator::Malloc) (PHYSFS_uint64)

Allocate like malloc().

## ◆ Realloc

void *(* PHYSFS_Allocator::Realloc) (void *, PHYSFS_uint64)

Reallocate like realloc().

The documentation for this struct was generated from the following file:

- physfs.h