1
0
forked from 0ad/0ad
0ad/source/lib/dyn_array.h
janwas 494d27bdd4 moved SAFE_DELETE to lib.h
dyn_array supports "wrapping" other types of memory (stopgap measure)
texture codecs now load via DynArray (intermediate step to all mem stuff
going through res/mem.cpp)
simplified tex codecs by doing as many checks as possible in
tex_load_mem ("template method"-esque)

This was SVN commit r2690.
2005-09-08 01:47:45 +00:00

26 lines
596 B
C

#include "lib/types.h"
struct DynArray
{
u8* base;
size_t max_size_pa; // reserved
size_t cur_size; // committed
size_t pos;
int prot; // applied to newly committed pages
};
extern int da_alloc(DynArray* da, size_t max_size);
extern int da_free(DynArray* da);
extern int da_set_size(DynArray* da, size_t new_size);
extern int da_set_prot(DynArray* da, int prot);
extern int da_wrap_fixed(DynArray* da, u8* p, size_t size);
extern int da_read(DynArray* da, void* data_dst, size_t size);
extern int da_append(DynArray* da, const void* data_src, size_t size);