]> git.sesse.net Git - pistorm/blobdiff - platforms/amiga/hunk-reloc.h
Some PiSCSI file system reloc changes
[pistorm] / platforms / amiga / hunk-reloc.h
index afd6c0275eb725e72bd6e5a7be5c5f6b0859dc7a..1e53492ce945490c822165cb6d225f8f908ab8b4 100644 (file)
@@ -1,3 +1,6 @@
+#ifndef _HUNK_RELOC_H
+#define _HUNK_RELOC_H
+
 struct hunk_reloc {
     uint32_t src_hunk;
     uint32_t target_hunk;
@@ -8,9 +11,9 @@ struct hunk_info {
     uint16_t current_hunk;
     uint16_t num_libs;
     uint8_t *libnames[256];
-    uint32_t table_size;
+    uint32_t table_size, byte_size, alloc_size;
     uint32_t base_offset;
-    uint32_t first_hunk, last_hunk, num_hunks;
+    uint32_t first_hunk, last_hunk, num_hunks, header_size;
     uint32_t reloc_hunks;
     uint32_t *hunk_offsets;
     uint32_t *hunk_sizes;
@@ -27,6 +30,10 @@ enum hunk_types {
 };
 
 int process_hunk(uint32_t index, struct hunk_info *info, FILE *f, struct hunk_reloc *r);
+int load_lseg(int fd, uint8_t **buf_p, struct hunk_info *i, struct hunk_reloc *relocs, uint32_t block_size);
+
 void reloc_hunk(struct hunk_reloc *h, uint8_t *buf, struct hunk_info *i);
-void process_hunks(FILE *in, struct hunk_info *h_info, struct hunk_reloc *r);
+void process_hunks(FILE *in, struct hunk_info *h_info, struct hunk_reloc *r, uint32_t offset);
 void reloc_hunks(struct hunk_reloc *r, uint8_t *buf, struct hunk_info *h_info);
+
+#endif /* _HUNK_RELOC_H */