2
0

bios-linker-loader.h 1.5 KB

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