home *** CD-ROM | disk | FTP | other *** search
- /*
- * area.h
- * Copyright © 1992 Niklas Röjemo
- */
-
- #ifndef _area_h
- #define _area_h
-
- #ifndef _symbol_h
- #include "symbol.h"
- #endif
-
-
- #ifndef _reloc_h
- #include "reloc.h"
- #endif
-
- #ifndef _lit_h
- #include "lit.h"
- #endif
-
-
- #define AREA_INIT 0x0002
- #define AREA_CODE 0x0200
- #define AREA_DATA 0x0000
- #define AREA_COMMONDEF 0x0400
- #define AREA_COMMONREF 0x0800
- #define AREA_UDATA 0x1000
- #define AREA_READONLY 0x2000
- #define AREA_DEBUG 0x8000
-
- #define AREA_IMAGE(x) (!((x)->type&AREA_UDATA))
- #define AREA_NOSPACE(x,v) ((x)->imagesize < v)
- typedef struct AREA {
- Symbol *next;
- int type;
- int imagesize;
- char *image;
- int norelocs;
- Reloc *relocs;
- LitInfo *lits; /* ldr reg,=value */
- } Area;
-
- extern Symbol *areaCurrent;
- extern Symbol *areaEntry;
- extern int areaEntryOffset;
- extern Symbol *areaHead;
-
- void areaInit(void);
- void areaFinish(void);
- void areaGrow(Area *area,int mingrow);
- void areaPrint(Symbol *area);
-
- #endif
-