50#ifndef MSERIALIZE_TRACE_LVL
51# define MSERIALIZE_TRACE_LVL 0
57#define MSERIALIZE_TYPE_OBJECT 1
59#define MSERIALIZE_TYPE_STRING 2
61#define MSERIALIZE_TYPE_INTEGER 3
63#define MSERIALIZE_TYPE_FLOAT 4
65#define MSERIALIZE_TYPE_ARRAY 5
67#define MSERIALIZE_TYPE_BLOB 6
87 mfile_t* ser_out,
const void* p_ser_val,
int array );
90 mfile_t* ser_out,
void* p_ser_int,
int array, ssize_t* p_ser_sz );
93 mfile_t* ser_out,
const int32_t value,
int array );
100 mfile_t* ser_out,
struct MDATA_VECTOR* p_ser_vec,
int array,
108 mfile_t* ser_out,
struct MDATA_TABLE* p_ser_tab,
int array,
112 mfile_t* ser_out,
const void* p_block,
size_t block_sz );
114off_t mserialize_header( mfile_t* ser_out, uint8_t type, uint8_t flags );
117 mfile_t* ser_out, off_t header, uint8_t flags );
120 mfile_t* ser_out,
const size_t* p_ser_int,
int array );
123 mfile_t* ser_out,
const ssize_t* p_ser_int,
int array );
126 mfile_t* ser_out,
const uint8_t* p_ser_int,
int array );
129 mfile_t* ser_out,
const int8_t* p_ser_int,
int array );
132 mfile_t* ser_out,
const uint16_t* p_ser_int,
int array );
135 mfile_t* ser_out,
const int16_t* p_ser_int,
int array );
138 mfile_t* ser_out,
const uint32_t* p_ser_int,
int array );
141 mfile_t* ser_out,
const int32_t* p_ser_int,
int array );
144 mfile_t* ser_out,
const float* p_ser_float,
int array );
147 mfile_t* ser_out,
const mfix_t* p_ser_int,
int array );
150 mfile_t* ser_out,
const char* p_ser_char,
int array );
153 mfile_t* ser_out,
const mdata_strpool_idx_t* p_ser_int,
int array );
161 mfile_t* ser_out,
const retrotile_coord_t* p_ser_int,
int array );
164 mfile_t* ser_out,
const retroflat_dir4_t* p_ser_int,
int array );
167 mfile_t* ser_out,
const retroflat_ms_t* p_ser_int,
int array );
172 mfile_t* ser_out,
const struct MLISP_ENV_NODE* p_ser_struct,
int array );
175 mfile_t* ser_out,
const union MLISP_VAL* p_ser_val,
int array );
178 mfile_t* ser_out,
const struct MDATA_TABLE_KEY* p_ser_struct,
int array );
187 mfile_t* ser_in, uint8_t* p_type, ssize_t* p_sz,
size_t* p_header_sz );
190 mfile_t* ser_in, int32_t* p_ser_int,
int array, ssize_t* p_ser_sz );
193 mfile_t* ser_in,
struct MDATA_VECTOR* p_ser_vec,
int array,
194 mdeserialize_cb_t cb, uint8_t* buf,
size_t buf_sz, ssize_t* p_ser_sz );
197 mfile_t* ser_in,
struct MDATA_TABLE* p_ser_vec,
int array,
198 mdeserialize_cb_t cb, uint8_t* buf,
size_t buf_sz, ssize_t* p_ser_sz );
201 mfile_t* ser_in,
size_t* p_ser_int,
int array, ssize_t* p_ser_sz );
204 mfile_t* ser_in, ssize_t* p_ser_int,
int array, ssize_t* p_ser_sz );
207 mfile_t* ser_in, uint8_t* p_ser_int,
int array, ssize_t* p_ser_sz );
210 mfile_t* ser_in, int8_t* p_ser_int,
int array, ssize_t* p_ser_sz );
213 mfile_t* ser_in, uint16_t* p_ser_int,
int array, ssize_t* p_ser_sz );
216 mfile_t* ser_in, int16_t* p_ser_int,
int array, ssize_t* p_ser_sz );
219 mfile_t* ser_in, uint32_t* p_ser_int,
int array, ssize_t* p_ser_sz );
222 mfile_t* ser_in, int32_t* p_ser_int,
int array, ssize_t* p_ser_sz );
225 mfile_t* ser_in,
float* p_ser_float,
int array, ssize_t* p_ser_sz );
228 mfile_t* ser_in, mfix_t* p_ser_int,
int array, ssize_t* p_ser_sz );
231 mfile_t* ser_in,
char* p_ser_char,
int array, ssize_t* p_ser_sz );
234 mfile_t* ser_in, mdata_strpool_idx_t* p_ser_int,
int array, ssize_t* p_ser_sz );
242 mfile_t* ser_in, retrotile_coord_t* p_ser_int,
int array, ssize_t* p_ser_sz );
245 mfile_t* ser_in, retroflat_dir4_t* p_ser_int,
int array, ssize_t* p_ser_sz );
248 mfile_t* ser_in, retroflat_ms_t* p_ser_int,
int array, ssize_t* p_ser_sz );
253 mfile_t* ser_in,
struct MLISP_ENV_NODE* p_ser_struct,
int array, ssize_t* p_ser_sz );
256 mfile_t* ser_in,
union MLISP_VAL* p_ser_val,
int array, ssize_t* p_ser_sz );
267 mfile_t* ser_out,
const size_t* p_ser_int,
int array
269 return mserialize_int( ser_out, *p_ser_int, array );
273 mfile_t* ser_out,
const ssize_t* p_ser_int,
int array
275 return mserialize_int( ser_out, *p_ser_int, array );
279 mfile_t* ser_out,
const uint8_t* p_ser_int,
int array
281 return mserialize_int( ser_out, *p_ser_int, array );
285 mfile_t* ser_out,
const int8_t* p_ser_int,
int array
287 return mserialize_int( ser_out, *p_ser_int, array );
291 mfile_t* ser_out,
const uint16_t* p_ser_int,
int array
293 return mserialize_int( ser_out, *p_ser_int, array );
297 mfile_t* ser_out,
const int16_t* p_ser_int,
int array
299 return mserialize_int( ser_out, *p_ser_int, array );
303 mfile_t* ser_out,
const uint32_t* p_ser_int,
int array
305 return mserialize_int( ser_out, *p_ser_int, array );
309 mfile_t* ser_out,
const int32_t* p_ser_int,
int array
311 return mserialize_int( ser_out, *p_ser_int, array );
315 mfile_t* ser_out,
const mfix_t* p_ser_int,
int array
317 return mserialize_int( ser_out, *p_ser_int, array );
323 mfile_t* ser_out,
const retrotile_coord_t* p_ser_int,
int array
325 return mserialize_int( ser_out, *p_ser_int, array );
329 mfile_t* ser_out,
const retroflat_dir4_t* p_ser_int,
int array
331 return mserialize_int( ser_out, *p_ser_int, array );
335 mfile_t* ser_out,
const retroflat_ms_t* p_ser_int,
int array
337 return mserialize_int( ser_out, *p_ser_int, array );
343 mfile_t* ser_out,
const mdata_strpool_idx_t* p_ser_int,
int array
345 return mserialize_int( ser_out, *p_ser_int, array );
351 mfile_t* ser_out,
size_t* p_ser_int,
int array, ssize_t* p_ser_sz
355 retval = mdeserialize_int( ser_out, &value, array, p_ser_sz );
356 maug_cleanup_if_not_ok();
363 mfile_t* ser_out, ssize_t* p_ser_int,
int array, ssize_t* p_ser_sz
367 retval = mdeserialize_int( ser_out, &value, array, p_ser_sz );
368 maug_cleanup_if_not_ok();
375 mfile_t* ser_out, uint8_t* p_ser_int,
int array, ssize_t* p_ser_sz
379 retval = mdeserialize_int( ser_out, &value, array, p_ser_sz );
380 maug_cleanup_if_not_ok();
387 mfile_t* ser_out, int8_t* p_ser_int,
int array, ssize_t* p_ser_sz
391 retval = mdeserialize_int( ser_out, &value, array, p_ser_sz );
392 maug_cleanup_if_not_ok();
399 mfile_t* ser_out, uint16_t* p_ser_int,
int array, ssize_t* p_ser_sz
403 retval = mdeserialize_int( ser_out, &value, array, p_ser_sz );
404 maug_cleanup_if_not_ok();
411 mfile_t* ser_out, int16_t* p_ser_int,
int array, ssize_t* p_ser_sz
415 retval = mdeserialize_int( ser_out, &value, array, p_ser_sz );
416 maug_cleanup_if_not_ok();
423 mfile_t* ser_out, uint32_t* p_ser_int,
int array, ssize_t* p_ser_sz
427 retval = mdeserialize_int( ser_out, &value, array, p_ser_sz );
428 maug_cleanup_if_not_ok();
435 mfile_t* ser_out, int32_t* p_ser_int,
int array, ssize_t* p_ser_sz
439 retval = mdeserialize_int( ser_out, &value, array, p_ser_sz );
440 maug_cleanup_if_not_ok();
447 mfile_t* ser_out, mfix_t* p_ser_int,
int array, ssize_t* p_ser_sz
451 retval = mdeserialize_int( ser_out, &value, array, p_ser_sz );
452 maug_cleanup_if_not_ok();
459 mfile_t* ser_out, mdata_strpool_idx_t* p_ser_int,
int array, ssize_t* p_ser_sz
463 retval = mdeserialize_int( ser_out, &value, array, p_ser_sz );
464 maug_cleanup_if_not_ok();
473 mfile_t* ser_out, retrotile_coord_t* p_ser_int,
int array, ssize_t* p_ser_sz
477 retval = mdeserialize_int( ser_out, &value, array, p_ser_sz );
478 maug_cleanup_if_not_ok();
485 mfile_t* ser_out, retroflat_dir4_t* p_ser_int,
int array, ssize_t* p_ser_sz
489 retval = mdeserialize_int( ser_out, &value, array, p_ser_sz );
490 maug_cleanup_if_not_ok();
497 mfile_t* ser_out, retroflat_ms_t* p_ser_int,
int array, ssize_t* p_ser_sz
501 retval = mdeserialize_int( ser_out, &value, array, p_ser_sz );
502 maug_cleanup_if_not_ok();
uint16_t MERROR_RETVAL
Return type indicating function returns a value from this list.
Definition merror.h:19
char retroflat_asset_path[MAUG_PATH_SZ_MAX+1]
Path/name used to load an asset from disk.
Definition mfile.h:129
MERROR_RETVAL mserialize_table(mfile_t *ser_out, struct MDATA_TABLE *p_ser_tab, int array, mserialize_cb_t cb)
MERROR_RETVAL(* mserialize_cb_t)(mfile_t *ser_out, const void *p_ser_val, int array)
Serialization function for a struct or primative type.
Definition mserial.h:86
MERROR_RETVAL mserialize_vector(mfile_t *ser_out, struct MDATA_VECTOR *p_ser_vec, int array, mserialize_cb_t cb)
MERROR_RETVAL mdeserialize_header(mfile_t *ser_in, uint8_t *p_type, ssize_t *p_sz, size_t *p_header_sz)
A vector of uniformly-sized objects, stored contiguously.
Definition mdata.h:93