| author | David Anderson <dvander@alliedmods.net> |
| Wed Feb 25 20:07:12 2009 -0500 (2009-02-25) | |
| changeset 2607 | f3b8bbe17f85 |
| parent 2325 | 7a24ee5557fb |
| permissions | -rw-r--r-- |
| dvander@2320 | 1 |
#ifndef _INCLUDE_SPDECOMP_FILE_FORMAT_H_ |
| dvander@2320 | 2 |
#define _INCLUDE_SPDECOMP_FILE_FORMAT_H_ |
| dvander@2320 | 3 |
|
| dvander@2320 | 4 |
#include <sp_vm_types.h> |
| dvander@2320 | 5 |
|
| dvander@2320 | 6 |
struct sp_debug_t |
| dvander@2320 | 7 |
{ |
| dvander@2320 | 8 |
const char *stringbase; /**< base of string table */ |
| dvander@2320 | 9 |
uint32_t files_num; /**< number of files */ |
| dvander@2320 | 10 |
sp_fdbg_file_t *files; /**< files table */ |
| dvander@2320 | 11 |
uint32_t lines_num; /**< number of lines */ |
| dvander@2320 | 12 |
sp_fdbg_line_t *lines; /**< lines table */ |
| dvander@2320 | 13 |
uint32_t syms_num; /**< number of symbols */ |
| dvander@2320 | 14 |
sp_fdbg_symbol_t *symbols; /**< symbol table */ |
| dvander@2325 | 15 |
sp_fdbg_ntvtab_s *ntv; /**< native table */ |
| dvander@2320 | 16 |
}; |
| dvander@2320 | 17 |
|
| dvander@2320 | 18 |
struct sp_tag_t |
| dvander@2320 | 19 |
{ |
| dvander@2320 | 20 |
uint32_t id; |
| dvander@2320 | 21 |
const char *name; |
| dvander@2320 | 22 |
}; |
| dvander@2320 | 23 |
|
| dvander@2320 | 24 |
struct sp_file_t |
| dvander@2320 | 25 |
{ |
| dvander@2320 | 26 |
uint8_t *base; |
| dvander@2320 | 27 |
size_t base_size; |
| dvander@2320 | 28 |
uint8_t *pcode; |
| dvander@2320 | 29 |
uint32_t pcode_size; |
| dvander@2320 | 30 |
uint32_t pcode_version; |
| dvander@2320 | 31 |
uint8_t *data; |
| dvander@2320 | 32 |
uint32_t data_size; |
| dvander@2320 | 33 |
uint32_t mem_size; |
| dvander@2320 | 34 |
sp_public_t *publics; |
| dvander@2320 | 35 |
uint32_t num_publics; |
| dvander@2320 | 36 |
sp_pubvar_t *pubvars; |
| dvander@2320 | 37 |
uint32_t num_pubvars; |
| dvander@2320 | 38 |
sp_native_t *natives; |
| dvander@2320 | 39 |
uint32_t num_natives; |
| dvander@2320 | 40 |
sp_tag_t *tags; |
| dvander@2320 | 41 |
uint32_t num_tags; |
| dvander@2320 | 42 |
const char *stringbase; |
| dvander@2320 | 43 |
uint32_t flags; |
| dvander@2320 | 44 |
sp_debug_t debug; |
| dvander@2320 | 45 |
}; |
| dvander@2320 | 46 |
|
| dvander@2320 | 47 |
void Sp_FreePlugin(sp_file_t *plugin); |
| dvander@2320 | 48 |
sp_file_t *Sp_ReadPlugin(const char *file, int *err); |
| dvander@2320 | 49 |
sp_fdbg_symbol_t *Sp_FindFunctionSym(sp_file_t *plugin, ucell_t addr); |
| dvander@2320 | 50 |
sp_tag_t *Sp_FindTag(sp_file_t *plugin, uint32_t tag_id); |
| dvander@2320 | 51 |
|
| dvander@2320 | 52 |
#endif //_INCLUDE_SPDECOMP_FILE_FORMAT_H_ |