1 #ifndef BIOS_LINKER_LOADER_H 2 #define BIOS_LINKER_LOADER_H 3 4 5 typedef struct BIOSLinker { 6 GArray *cmd_blob; 7 GArray *file_list; 8 } BIOSLinker; 9 10 bool bios_linker_loader_can_write_pointer(void); 11 12 BIOSLinker *bios_linker_loader_init(void); 13 14 void bios_linker_loader_alloc(BIOSLinker *linker, 15 const char *file_name, 16 GArray *file_blob, 17 uint32_t alloc_align, 18 bool alloc_fseg); 19 20 void bios_linker_loader_add_checksum(BIOSLinker *linker, const char *file, 21 unsigned start_offset, unsigned size, 22 unsigned checksum_offset); 23 24 void bios_linker_loader_add_pointer(BIOSLinker *linker, 25 const char *dest_file, 26 uint32_t dst_patched_offset, 27 uint8_t dst_patched_size, 28 const char *src_file, 29 uint32_t src_offset); 30 31 void bios_linker_loader_write_pointer(BIOSLinker *linker, 32 const char *dest_file, 33 uint32_t dst_patched_offset, 34 uint8_t dst_patched_size, 35 const char *src_file, 36 uint32_t src_offset); 37 38 void bios_linker_loader_cleanup(BIOSLinker *linker); 39 #endif 40