Files
Cesarus85--ringfall-mjolnir-vr/source/memory/lrar_cache.h
T

56 lines
1015 B
C

/*
LRAR_CACHE.H
header included in hcex build.
*/
#ifndef __LRAR_CACHE_H
#define __LRAR_CACHE_H
#pragma once
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
struct lrar_cache;
typedef void (*lrar_lock_proc)(
short *reference,
short value);
typedef void (*lrar_unlock_proc)(
void *reference);
/* ---------- prototypes/LRAR_CACHE.C */
struct lrar_cache *lrar_new(
char const *name,
unsigned long minimum_address,
unsigned long maximum_address,
short block_count,
short alignment_bit,
short boundary_bit,
lrar_lock_proc lock_proc,
lrar_unlock_proc unlock_proc);
void lrar_dispose(
struct lrar_cache *cache);
void lrar_flush(
struct lrar_cache *cache);
short lrar_allocate(
struct lrar_cache *cache,
long size,
void *user_data);
unsigned long lrar_block_address(
struct lrar_cache *cache,
short block_index);
void lrar_deallocate(
struct lrar_cache *cache,
short block_index);
/* ---------- globals */
/* ---------- public code */
#endif // __LRAR_CACHE_H