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