]> git.sur5r.net Git - cc65/blobdiff - src/common/segdefs.h
Merge remote-tracking branch 'upstream/master' into a5200
[cc65] / src / common / segdefs.h
index b6bc530b67ca54ed43b0e549fd86b455ad7c9a94..10a366582f8fd537eff750c3fa40dc4c428af332 100644 (file)
@@ -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       */
 
 
 /*****************************************************************************/
-/*                                          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
-
-
-