X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fcommon%2Fsegdefs.h;h=10a366582f8fd537eff750c3fa40dc4c428af332;hb=f266612697b213f2f74027eb5b2605b19a97d6d7;hp=b6bc530b67ca54ed43b0e549fd86b455ad7c9a94;hpb=4937cd236f8d94b6e143c5230c8488e1317026cb;p=cc65 diff --git a/src/common/segdefs.h b/src/common/segdefs.h index b6bc530b6..10a366582 100644 --- a/src/common/segdefs.h +++ b/src/common/segdefs.h @@ -1,15 +1,15 @@ /*****************************************************************************/ /* */ -/* segdefs.h */ +/* segdefs.h */ /* */ -/* Segment definitions for the bin65 binary utils */ +/* Constants and flags for segments */ /* */ /* */ /* */ -/* (C) 1998-2003 Ullrich von Bassewitz */ -/* Römerstrasse 52 */ -/* D-70794 Filderstadt */ -/* EMail: uz@cc65.org */ +/* (C) 2012, Ullrich von Bassewitz */ +/* Roemerstrasse 52 */ +/* D-70794 Filderstadt */ +/* EMail: uz@cc65.org */ /* */ /* */ /* This software is provided 'as-is', without any expressed or implied */ @@ -39,76 +39,16 @@ /*****************************************************************************/ -/* Data */ +/* Data */ /*****************************************************************************/ -/* Available segment types */ -#define SEGTYPE_DEFAULT 0 -#define SEGTYPE_ABS 1 -#define SEGTYPE_ZP 2 -#define SEGTYPE_FAR 3 - -/* Fragment types in the object file */ -#define FRAG_TYPEMASK 0x38 /* Mask the type of the fragment */ -#define FRAG_BYTEMASK 0x07 /* Mask for byte count */ -#define FRAG_CHECKMASK 0x40 /* Mask for check expressions */ - -/* Fragment types */ -#define FRAG_LITERAL 0x00 /* Literal data */ - -#define FRAG_EXPR 0x08 /* Expression */ -#define FRAG_EXPR8 0x09 /* 8 bit expression */ -#define FRAG_EXPR16 0x0A /* 16 bit expression */ -#define FRAG_EXPR24 0x0B /* 24 bit expression */ -#define FRAG_EXPR32 0x0C /* 32 bit expression */ - -#define FRAG_SEXPR 0x10 /* Signed expression */ -#define FRAG_SEXPR8 0x11 /* 8 bit signed expression */ -#define FRAG_SEXPR16 0x12 /* 16 bit signed expression */ -#define FRAG_SEXPR24 0x13 /* 24 bit signed expression */ -#define FRAG_SEXPR32 0x14 /* 32 bit signed expression */ - -#define FRAG_FILL 0x20 /* Fill bytes */ - -/* Fragment checks */ -#define FRAG_CHECK 0x40 /* Check expressions exist */ - - - -/* Segment definition */ -typedef struct SegDef SegDef; -struct SegDef { - char* Name; /* Segment name */ - unsigned Type; /* Segment type, see above */ -}; - -/* Initializer for static SegDefs */ -#define STATIC_SEGDEF_INITIALIZER(name, type) { (name), (type) } - - - -/*****************************************************************************/ -/* Code */ -/*****************************************************************************/ - - - -SegDef* NewSegDef (const char* Name, unsigned Type); -/* Create a new segment definition and return it */ - -void FreeSegDef (SegDef* D); -/* Free a segment definition */ - -SegDef* DupSegDef (const SegDef* D); -/* Duplicate a segment definition and return it */ +/* Segment flags */ +#define SEG_FLAG_NONE 0x00 /* End of segdefs.h */ #endif - - -