- unsigned Flags;
- unsigned Format; /* Output format */
- Collection MemList; /* List of memory areas in this file */
-};
-
-/* Segment list node. Needed because there are two lists (RUN & LOAD) */
-typedef struct MemListNode MemListNode;
-struct MemListNode {
- MemListNode* Next; /* Next entry */
- struct SegDesc* Seg; /* Segment */
-};
-
-/* Memory list entry */
-typedef struct Memory Memory;
-struct Memory {
- unsigned Name; /* Name index of the memory section */
- unsigned Attr; /* Which values are valid? */
- unsigned Flags; /* Set of bitmapped flags */
- unsigned long Start; /* Start address */
- unsigned long Size; /* Length of memory section */
- unsigned long FillLevel; /* Actual fill level of segment */
- unsigned char FillVal; /* Value used to fill rest of seg */
- unsigned char Relocatable; /* Memory area is relocatable */
- MemListNode* SegList; /* List of segments for this section */
- MemListNode* SegLast; /* Last segment in this section */
- File* F; /* File that contains the entry */
+ unsigned Flags;
+ unsigned Format; /* Output format */
+ unsigned long Size; /* Size of the generated file */
+ Collection MemoryAreas; /* List of memory areas in this file */