#ifndef __SCC_FORMAT_LINKER_H__ #define __SCC_FORMAT_LINKER_H__ #include "sccf_builder.h" typedef SCC_VEC(sccf_t) sccf_vec_t; typedef struct { sccf_builder_t builder; sccf_vec_t link_sccfs; scc_strpool_t strpool; scc_hashtable_t str2offset; sccf_sym_vec_t symtab; sccf_reloc_vec_t relocs; const char *entry_symbol_name; } sccf_linker_t; void sccf_linker_init(sccf_linker_t *linker); void sccf_linker_add_sccf(sccf_linker_t *linker, const sccf_t *sccf); void sccf_linker_set_entry_symbol_name(sccf_linker_t *linker, const char *name); const sccf_t *sccf_linker_link(sccf_linker_t *linker); #endif /* __SCC_FORMAT_LINKER_H__ */