36 lines
698 B
C
36 lines
698 B
C
#pragma once
|
|
#include <stdint.h>
|
|
|
|
struct bin_header {
|
|
uint32_t magic;
|
|
uint32_t version;
|
|
uint32_t global_pool_size;
|
|
uint32_t unit_table_offset;
|
|
uint32_t unit_table_size;
|
|
uint32_t ref_table_offset;
|
|
uint32_t ref_table_size;
|
|
uint32_t export_table_offset;
|
|
uint32_t export_table_size;
|
|
uint32_t func_table_offset;
|
|
uint32_t func_table_size;
|
|
};
|
|
|
|
struct bin_unit_entry {
|
|
uint32_t name_len;
|
|
// TODO move all of this into strtable
|
|
char name[0];
|
|
};
|
|
|
|
struct bin_ref_entry {
|
|
uint32_t unit_index;
|
|
uint32_t name_len;
|
|
char name[0];
|
|
};
|
|
|
|
struct bin_func_entry {
|
|
uint32_t argc;
|
|
uint32_t local_count;
|
|
uint32_t len;
|
|
uint32_t data[0];
|
|
};
|